Zusammenzaehlen

emkey

Erfahrenes Mitglied
Huhu,
ich habe folgende tabelle:

id|bezeichnung
1 |rund
2 |eckig
3 |kreisfoermig
4 |eckig
5 |rund
6 |rund


Ich moechte eine ausgabe machen die in etwa folgendermassen aussehen soll:

3 x rund
2 x eckig
1 x kreisfoermig

also es soll "gezaehlt" werden wieoft eine "bezeichnung" vorhanden ist.

Ich bin euch dankbar fuer eure Hilfe.

MfG emkey
 
wenn die Begriffe (rund, eckig, usw.) bekannt sind, könntest Du z.B. mit

"SELECT * FROM tabelle WHERE bezeichnung='rund'"

einen Zeiger auf alle Datensätze mit dem Wert "rund" angeben.

In PHP kannst Du dann mit mysql_num_rows() die Anzahl bestimmen. (in anderen Scriptsprachen gibt es sicher ähnliche Befehle)

hoffe das hilft ;)

Gruß
Dunsti
 
Huhu,
nein die Begriffe sind leider nicht bekannt.
Das ist ja das dumme.
Daher kann ich auch nicht mit mysql_num_rows() arbeiten.

Ich danke dir trotzdem fuer deine Hilfe.

Hat jemand eventuell eine andere Idee ?


MfG emkey
 
hmm ... da musst Du wohl einen kleinen Umweg über DISTINCT machen.

Da du wahrscheinlich in PHP programmierst hier mal die Lösung in PHP:

PHP:
$sql1 = "SELECT DISTINCT bezeichnung FROM tabelle";
$result1 = mysql_query($sql1,$db);
while ($row1 = mysql_fetch_row) {
    $sql2= "SELECT * FROM tabelle WHERE bezeichnung=$row1[0]";
    $result2 = mysql_query($sql2,$db);
    $anzahl = mysql_num_rows($result2);
    echo $anzahl."x ".$row1[0];
}

hab ich jetzt net getestet, aber müsste gehen ;)

Gruß
Dunsti
 
-weltklasse-

Vielen vielen Dank Dunsti =)

Es hat funktioniert.

.oO( warum ich da nicht schon selbst drauf gekommen bin ?! ;) )

Aber einen kleinen fehler hast du gemacht...

PHP:
while ($row1 = mysql_fetch_row) {
Muss man in:
PHP:
while ($row1 = mysql_fetch_row($result1)) {
aendern :)
aber sonst alles Fresh.


MfG emkey
 
ajo, das passiert, wenn man "auf die Schnelle was aus dem Kopf programmiert" ;)

Gruß
Dunsti
 
Zurück