Problem mit Group By und COUNT()

gamefreaxx
Hi,

ich habe mal wieder eine Frage Freude Mein erstes Problem ist, dass ich GROUP BY einfach nicht richtig verstehe, obwohl ich mir noch so viel durchgelesen habe.

Nun brauche ich dies aber für folgende Abfrage:

php:
1:
$result $db->query("SELECT a.*, COUNT(p.photoid),p.photoid,p.extension,p.format AS countphotos FROM bb".$n."_photoalbums a LEFT JOIN bb".$n."_photos p USING (albumid) WHERE userid = '".$wbbuserdata[userid]."'");


Klar, fehler kommt, dass ohne Group By nichts geht, also habe ich einfach folgendes gemacht:

php:
1:
$result $db->query("SELECT a.*, COUNT(p.photoid),p.photoid,p.extension,p.format AS countphotos FROM bb".$n."_photoalbums a LEFT JOIN bb".$n."_photos p USING (albumid) WHERE userid = '".$wbbuserdata[userid]."' GROUP BY a.albumid");


Allerdings kommt nun gar kein Ergebnis! Noch kurz als Info: Es sollen eben alle Daten des Albums, also a.* ermittelt werden, dann die Anzahl der Fotos, was COUNT(photoid) übernimmt, und ein Foto des Albums, im Prinzip als cover ("p.photoid...").

Danke schonmal Augenzwinkern
Ghostmaster
Wenn du etwas "conten" willst musst du es query_first nehmen.
gamefreaxx
Bei query_first wird ja nur die erste Zeile ausgegeben. Es erfolgt aber natürlich danach:

php:
1:
while($album $db->fetch_array($result)) { ... }


Das Problem scheint eher an der Abfrage selbst zu liegen. Ohne GROUB BY kommt ein Fehler, aber meine GROUB BY Angabe scheint nicht zu stimmen, weil danach gar nichts mehr ausgegeben wird...
Ghostmaster
Gut, dann machst du es so:

code:
1:
$result_count = mysql_num_rows($result);

Dann hast du die Anzahl der Einträge.

$result schaut dann so aus:

code:
1:
$result = $db->query("SELECT a.*, p.photoid,p.photoid,p.extension,p.format FROM bb".$n."_photoalbums a LEFT JOIN bb".$n."_photos p ON (a.albumid=p.albumid) WHERE a.userid = '".$wbbuserdata[userid]."'");  
gamefreaxx
Das stimmt aber leider so nicht. Dann würde er mir die Anzahl der Alben liefern... Ich will aber die Anzahl der Fotos in einem Album, also müsste in der anderen Tabelle gezählt werden Augenzwinkern