Mailinglisten-Archive |
Hallo Thomas, wenn ich Dich richtig verstehe, ist folgendes die Antwort auf Deine Frage: > Es müsste irgendwie mit COUNT() und GROUP BY() gehen, aber da check ich > nicht ganz durch... ;( Stimmt: $query1 = "Select count(kategorie) as countkat from tabelle group by kategorie order by kategorie"; $result1 = mysql_query ( $query1 ); $rowcount1 = mysql_num_rows ( $result1 ); for ( $i=0; $i < $rowcount1; $i++ ) { $row1 = mysql_fetch_object ( $result1 ); $katcount [$i] = $row1->countkat; } $query2 = "SELECT DISTINCT kategorie FROM tabelle ORDER BY kategorie "; $result2 = mysql_query ( $query2 ); $rowcount2 = mysql_num_rows ( $result2 ); for ( $i=0; $i < $rowcount2; $i++ ) { $row2 = mysql_fetch_object ( $result2 ); echo katcount [$i]; echo $row2->kategorie; } ... gibt Anzahl (aus dem in der vorherigen Abfrage gebildeten Array) und aus der laufenden Abfrage zusammen mit der Kategorie aus. Du kannst das noch modifizieren, indem Du Deine Tabelle Kategorie integrierst. Wann funktioniert das nicht: Wenn in einer Multiuserumgebung eine extrem hohe Updatefrequenz herrscht. Dann sind nämlich die Ergebnisse von query2 bei ihrer Ausführung schon falsch. Ist aber eher selten, daß laufend neue Kategorien erzeugt werden. > Es müsste ja eigentlich irgendwie gehen, das ich alles in ein query packen > kann, oder? > Glaube nein, da mysql keine Subselects Views und Stored Procedures zuläßt. Insofern sind nur iterierende Verfahren (Programmiersprache/PHP) möglich. Durch diese Unzulaenglichkeit ist Deine Frage auch nicht OT ;-) Falls Du es anders machen willst, nimm am besten Oracle, das ist hier letztens empfohlen worden, dann ist sie aber wieder OT ;-) Mit freundlichen Grüßen, Oliver Kummerow email: naklar_(at)_altavista.net
php::bar PHP Wiki - Listenarchive