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 »

aso.. dann nimm LIMIT 3 wieder heraus und ersetze bei LIMIT 0,1 die 1 mit 3 (in den Zeilen unter dem Query).
Benutzeravatar
kain
Mitglied
Beiträge: 268
Registriert: 06.06.2002 14:23
Wohnort: darmstadt

Beitrag von kain »

nein das war es auch nicht, leider.
ich habe mal in der album.php geguckt wie es dort gelöst wurde, aber es ist ganz anders als der code den (wir) hier eingebaut haben. ich kann damit nichts "vergleichen".
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 »

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";
}
..wozu is das eigentlich notwendig. Du lässt doch einfach nur das letzte Bild anzeigen oder, also du sortierst nicht danach (nach letztes Bild oder beste Bewertung oder beides kombiniert) !?
Benutzeravatar
kain
Mitglied
Beiträge: 268
Registriert: 06.06.2002 14:23
Wohnort: darmstadt

Beitrag von kain »

also ich will nur das letzte bild anzeigen lassen, dazu wer es gepostet hat, wie oft angeschaut, bewertet und komentare.
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 »

Was passiert, wenn du den obigen Code löscht ?
Benutzeravatar
kain
Mitglied
Beiträge: 268
Registriert: 06.06.2002 14:23
Wohnort: darmstadt

Beitrag von kain »

also wenn ich es lösche dann passiert folgendes:

es wird alles so angezeigt wie wenn der code noch da wäre ABER:

ein user hat vor längerer zeit ein bild hochgeladen, JETZT hat er seinen namen geändert und es wird jetzt das bild mit seinem damaligen usernamen angezeigt und nicht mit seinem neuen, ausserdem ist das jetzige bild nicht das letzte bild welches hochgeladen wurde sondern das aller aller erste welches je im fotoalbum hochgeladen wurde.
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 »

..dann füge mal zusätzlich nach GROUP BY p.pic_id noch DESC LIMIT 3 ein.
Benutzeravatar
kain
Mitglied
Beiträge: 268
Registriert: 06.06.2002 14:23
Wohnort: darmstadt

Beitrag von kain »

geht auch nicht, es kommt:
SQL Error : 1064 You have an error in your SQL syntax near 'ORDER BY pic_time DESC LIMIT 0,1' at line 7


wollt nur mal sagen das ich das sehr lieb von dir finde mir hier zu helfen, ich habe immer angst das es zu nervig ist :-?
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 »

Hast du auf das "; am Ende geachtet ? Du kannst ja mal den kompletten Query posten..
kain hat geschrieben:ich habe immer angst das es zu nervig ist
Ich sag schon bescheid, wenn es soweit ist. Oder du hörst gar nix mehr von mir. :) (Aber nicht wundern, wenn ich nachher mal "kurz" schlafen gehe. ;))
Benutzeravatar
kain
Mitglied
Beiträge: 268
Registriert: 06.06.2002 14:23
Wohnort: darmstadt

Beitrag von kain »

$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";
}
Kontrolle ist nur eine Illusion, denn niemand weiß was als nächstes passiert
Antworten

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