bild auf index anzeigen (203 er board)

Probleme bei der regulären Arbeiten mit phpBB, Fragen zu Vorgehensweisen oder Funktionsweise sowie sonstige Fragen zu phpBB im Allgemeinen.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.1, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Acid
Ehrenadmin
Beiträge: 12195
Registriert: 26.04.2001 02:00
Wohnort: Berlin

Beitrag von Acid »

Ich dachte, du hast oder wolltest..

Code: Alles auswählen

if ($sortby == "last_pic") {
$sql .= " ORDER BY pic_time DESC LIMIT 0,1";
}
if ($sortby == "good_rate") {
$sql .= " ORDER BY rating DESC LIMIT 0,1";
}
if ($sortby == "time_rate") {
$sql .= " ORDER BY rating DESC,pic_time DESC LIMIT 0,1";
}
..mal testweise löschen !? :roll:
Benutzeravatar
kain
Mitglied
Beiträge: 268
Registriert: 06.06.2002 14:23
Wohnort: darmstadt

Beitrag von kain »

*hüstel* ja hatte es gelöscht und mit DESC LIMIT 3 eingebaut, ging aber nicht bzw. hat sich nichts verändert. das letzte bild wird richtig angezeigt.

ich lasse jetzt die 3 "if ($sortby ..." zeilen drausen.
Kontrolle ist nur eine Illusion, denn niemand weiß was als nächstes passiert
Acid
Ehrenadmin
Beiträge: 12195
Registriert: 26.04.2001 02:00
Wohnort: Berlin

Beitrag von Acid »

Also..wie is jetzt der Stand der Dinge ? :)
Benutzeravatar
kain
Mitglied
Beiträge: 268
Registriert: 06.06.2002 14:23
Wohnort: darmstadt

Beitrag von kain »

Code: Alles auswählen

$sql = "SELECT p.pic_id, p.pic_title, p.pic_desc, p.pic_user_id, p.pic_user_ip, p.pic_username, p.pic_time, p.pic_cat_id, p.pic_view_count, u.user_id, u.username, r.rate_pic_id, AVG(r.rate_point) AS rating, COUNT(DISTINCT c.comment_id) AS comments
FROM " . phpbb_album . " AS p
LEFT JOIN ". USERS_TABLE ." AS u ON p.pic_user_id = u.user_id
LEFT JOIN ". ALBUM_RATE_TABLE ." AS r ON p.pic_id = r.rate_pic_id
LEFT JOIN ". ALBUM_COMMENT_TABLE ." AS c ON p.pic_id = c.comment_pic_id
WHERE  pic_approval = 1
GROUP BY p.pic_id DESC LIMIT 3";

//if ($sortby == "last_pic") {
//$sql .= " ORDER BY pic_time DESC LIMIT 0,1";
//}
//if ($sortby == "good_rate") {
//$sql .= " ORDER BY rating DESC LIMIT 0,1";
//}
//if ($sortby == "time_rate") {
//$sql .= " ORDER BY rating DESC,pic_time DESC LIMIT 0,1";
//}
es wird das letzte bild angezeigt mit allen richtigen user daten (ink. dem neu geänderten usernamen).
Kontrolle ist nur eine Illusion, denn niemand weiß was als nächstes passiert
Acid
Ehrenadmin
Beiträge: 12195
Registriert: 26.04.2001 02:00
Wohnort: Berlin

Beitrag von Acid »

...also alles im Lot jetzt? :D :wink:
Benutzeravatar
kain
Mitglied
Beiträge: 268
Registriert: 06.06.2002 14:23
Wohnort: darmstadt

Beitrag von kain »

äh... nein eigentlich nicht. ich möchte doch das die letzten 3 bilder angezeigt werden, SAG BLOSS das hast du nicht gewusst :o
hatte ich doch gepostet auf der 2(??) seite hier.

oh weh, ich hoffe du hasts gewusst :-(
Kontrolle ist nur eine Illusion, denn niemand weiß was als nächstes passiert
Acid
Ehrenadmin
Beiträge: 12195
Registriert: 26.04.2001 02:00
Wohnort: Berlin

Beitrag von Acid »

Könntest du mal mit phpmyadmin die Struktur und Daten der Tabellen phpbb_album , album_rate und album_comment sichern und den Dump hier posten (wenn es zu gross ist, reicht auch ein Link zu dem *.sql) ?
Benutzeravatar
kain
Mitglied
Beiträge: 268
Registriert: 06.06.2002 14:23
Wohnort: darmstadt

Beitrag von kain »

hey acid, bevor ich das jetzt mache, was du meinst, habe ich noch ne meldung zu machen. ich habe insg. 4 phpbb boards auf einer datenbank laufen (3 öffentliche und eins als test-mod board), die prefix sind alle unterschiedlich, nämlich
phpbb2_
phpbb203_
phpbb204_
phpbbwr_

ich habe den photoalbum mod im phpbb2_ board installiert. jetzt habe ich den mod im phpbb204_ board eingebaut und das problem ist:
mit unserer last pic sache in der index seite, da fragt er nicht die tabelle der phpbb204_album... ab sonder geht automatisch auf die tabelle der phpbb2_album...

es wird gemeldet, das der user und das bild nicht existiert, was ja klar ist weil die falsche tabelle von nem anderen board ausgelesen wird.
wenn ich ein neues bild uppe, so wird es nur im photoalbum richtig angezeigt, auf der index seite aber nicht wegen der falschen auslesung der tabelle.

sollten wir mal sicher gehen das der richtige prefix angegeben wird?
Kontrolle ist nur eine Illusion, denn niemand weiß was als nächstes passiert
Acid
Ehrenadmin
Beiträge: 12195
Registriert: 26.04.2001 02:00
Wohnort: Berlin

Beitrag von Acid »

Ja weil im Query..

Code: Alles auswählen

FROM " . phpbb_album . "
..steht. Du müsstest phpbb_album mit ALBUM_TABLE ersetzen.
Acid
Ehrenadmin
Beiträge: 12195
Registriert: 26.04.2001 02:00
Wohnort: Berlin

Beitrag von Acid »

Ok.. versuch´s ma mit dem folgenden. Ich konnte es natürlich nicht 100%ig testen, da mir einige Einstellungen fehlten etc.

index.php
ersetze den bisherigen Code mit..

Code: Alles auswählen

// Get Newest Pic
$sql = "SELECT * FROM ". ALBUM_CONFIG_TABLE;
if(!$result = $db->sql_query($sql))
{
        message_die(GENERAL_ERROR, "Could not query album config information.", "", __LINE__, __FILE__, $sql);
}
while( $row = $db->sql_fetchrow($result) )
{
        $album_config_name = $row['config_name'];
        $album_config_value = $row['config_value'];
        $album_config[$album_config_name] = $album_config_value;
} 

$sql = "SELECT p.pic_id, p.pic_title, p.pic_desc, p.pic_user_id, p.pic_user_ip, p.pic_username, p.pic_time, p.pic_cat_id, p.pic_view_count, u.user_id, u.username, r.rate_pic_id, AVG(r.rate_point) AS rating, COUNT(DISTINCT c.comment_id) AS comments
           FROM ". ALBUM_TABLE ." AS p
                    LEFT JOIN ". USERS_TABLE ." AS u ON p.pic_user_id = u.user_id
                    LEFT JOIN ". ALBUM_RATE_TABLE ." AS r ON p.pic_id = r.rate_pic_id
                    LEFT JOIN ". ALBUM_COMMENT_TABLE ." AS c ON p.pic_id = c.comment_pic_id
           WHERE  pic_approval = 1
           GROUP BY p.pic_id ORDER BY pic_time DESC LIMIT 3";
if (!$result = $db->sql_query($sql))
{
        message_die(GENERAL_ERROR, 'Could not query album information.', '', __LINE__, __FILE__, $sql);
}
while ( $picrow = $db->sql_fetchrow($result) )
{
        if(!$picrow['rating'])
        {
                $picrow['rating'] = $lang['Not_rated'];
        }
        else
        {
                $picrow['rating'] = round($picrow['rating'], 2);
        }

        $pic_poster = '<a href="'. append_sid("profile.$phpEx?mode=viewprofile&". POST_USERS_URL .'='. $picrow['pic_user_id']) .'">'. $picrow['pic_username'] .'</a>';

        $template->assign_block_vars('albumrow',	array(
           'L_NEWEST_PIC' => $lang['Newest_pic'],
           'PIC_IMAGE' => append_sid('album_thumbnail.'. $phpEx . '?pic_id=' . $picrow['pic_id']),
           'U_PIC_LINK' => append_sid('album_page.' . $phpEx . '?pic_id=' . $picrow['pic_id']),
           'L_PIC_TITLE' => $lang['Pic_Title'],
           'L_VIEW' => $lang['View'],
           'L_POSTER' => $lang['Poster'],
           'L_POSTED' => $lang['Posted'],
           'L_RATING' => $lang['Rating'],
           'TITLE' => stripslashes($picrow['pic_title']),
           'POSTER' => $picrow['username'],
           'PIC_POSTER' => $pic_poster,
           'TIME' => create_date($board_config['default_dateformat'], $picrow['pic_time'], $board_config['board_timezone']),
           'VIEW' => $picrow['pic_view_count'],
           'RATING' => ($album_config['rate'] == 1) ? ( '<a href="'. append_sid("album_rate.$phpEx?pic_id=". $picrow['pic_id']) . '">' . $lang['Rating'] . '</a> : ' . $picrow['rating'] . '<br />') : '',
           'COMMENTS' => ($album_config['comment'] == 1) ? ( '<a href="'. append_sid("album_comment.$phpEx?pic_id=". $picrow['pic_id']) . '">' . $lang['Comments'] . '</a> : ' . $picrow['comments'] . '<br />') : '',
        ));
}

// END - Get Newest Pic

index_body.tpl
lösche den bisherigen Code und füge folgendes als neue Tabelle ein (muss natürlich nicht unbedingt eine neue Tabelle sein)

Code: Alles auswählen

<table border="0" align="center" cellspacing="1" cellpadding="1" class="forumline" width="100%">
  <tr>
  <!-- BEGIN albumrow -->
        <td align="left" valign="top" class="row2">
                <table border="0" align="center" cellspacing="1" cellpadding="1">
                  <tr>
                        <td><span class="gensmall" style="line-height:150%"><a href="{albumrow.U_PIC_LINK}"><img src="{albumrow.PIC_IMAGE}" border="0"></a></span></td>
                        <td><span class="gensmall">
                            {albumrow.L_PIC_TITLE}: {albumrow.TITLE}<br />
                            {albumrow.L_POSTER}: <b>{albumrow.PIC_POSTER}</b><br />
                            {albumrow.L_POSTED}: {albumrow.TIME}<br />
                            {albumrow.L_RATING}{albumrow.RATING}
                            {albumrow.L_VIEW}: {albumrow.VIEW}</span></td>
                  </tr>
                  <tr>
                        <td align="center" colspan="2"><span class="gensmall">{albumrow.COMMENTS}</span></td>
                  </tr>
                </table></td>
  <!-- END albumrow -->
  </tr>
  <tr>
        <td align="center" class="row1" colspan="4"><span class="gensmall">[ <a href="{U_ALBUM}">{L_ALBUM}</a> ]&nbsp;</span></td>
  </tr>
</table>
Antworten

Zurück zu „phpBB 2.0: Administration, Benutzung und Betrieb“