Seite 5 von 7
Verfasst: 19.07.2003 20:46
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).
Verfasst: 20.07.2003 00:05
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".
Verfasst: 20.07.2003 01:40
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) !?
Verfasst: 20.07.2003 01:48
von kain
also ich will nur das letzte bild anzeigen lassen, dazu wer es gepostet hat, wie oft angeschaut, bewertet und komentare.
Verfasst: 20.07.2003 01:59
von Acid
Was passiert, wenn du den obigen Code löscht ?
Verfasst: 20.07.2003 02:09
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.
Verfasst: 20.07.2003 02:29
von Acid
..dann füge mal zusätzlich nach GROUP BY p.pic_id noch DESC LIMIT 3 ein.
Verfasst: 20.07.2003 02:36
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

Verfasst: 20.07.2003 02:41
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.

)
Verfasst: 20.07.2003 02:59
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";
}