Sven: (MySQL) Ausgabe von COUNT(*)

Hallo,

ich habe folgende Abfrage:

SELECT A.tbl1, A.tbl2, COUNT(B.tbl3)  
FROM table1 AS A  
JOIN table2 AS B  
ON B.tbl3  = A.id  
GROUP BY B.tbl3

Die Abfrage funktioniert, die ausgegebene Tabelle sieht in etwa so aus:

tbl1         tbl2     COUNT(B.tbl3)
eintrag1     test1    5
eintrag2     test2    2

Mein PHP-Code dazu, um die Tabelle auszugeben:

$sql = "SELECT A.tbl1, A.tbl2, COUNT(B.tbl3)  
FROM table1 AS A  
JOIN table2 AS B  
ON B.tbl3  = A.id  
GROUP BY B.tbl3";  
$res = mysql_query($sql);  
while($row = mysql_fetch_array($res)) {  
  echo $row['tbl1']."\n";  
  echo $row['tbl2']."\n";  
  echo $row['COUNT(B.tbl3)']."\n";  
}

Die dritte echo-Zeile ist fehlerhaft. Aber wie kann ich diese Zahl in PHP ansprechen? Wie kann ich das COUNT ausgeben?

Grüße
Sven

  1. Mahlzeit Sven,

    Die dritte echo-Zeile ist fehlerhaft. Aber wie kann ich diese Zahl in PHP ansprechen? Wie kann ich das COUNT ausgeben?

    Gib der Spalte doch einfach einen aussagekräftigen Alias-Namen ...

    MfG,
    EKKi

    --
    sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
  2. Die dritte echo-Zeile ist fehlerhaft. Aber wie kann ich diese Zahl in PHP ansprechen? Wie kann ich das COUNT ausgeben?

    Spontan: weise dem COUNT() ein Alias zu.

  3. Moin

    Aber wie kann ich diese Zahl in PHP ansprechen? Wie kann ich das COUNT ausgeben?

    Indem du dieser in der Feldauflistung im MySQL-Statement ein Alias zuweist:

      
    $sql = "SELECT A.tbl1, A.tbl2, COUNT(B.tbl3) anzahl  
    FROM table1 AS A...  
    
    

    echo $row['anzahl']."\n";

    Gruß Bobby

    --
    -> Für jedes Problem gibt es eine Lösung, die einfach, sauber und falsch ist! <-
    ### Henry L. Mencken ###
    -> Nicht das Problem macht die Schwierigkeiten, sondern unsere Sichtweise! <-
    ## Viktor Frankl ###
    ie:{ br:> fl:{ va:} ls:< fo:) rl:( n4:( de:> ss:) ch:? js:( mo:} sh:) zu:)
  4. Hola.

    Och. Da gibts verschiedene Moeglichkeiten. Zuerstmal koenntest Du deinen Feldern huebsche Namen geben und diese benutzen. Dannn koenntest Du auch einfach den numerischen Index benutzen. Der sollte ja da sein. Ich sehe nciht, dass Du ihn abschaltest:

    echo $row[x]

    Da Du Dir aber ja mysql_fetch_array() aus der Doku herausgesucht und diese auch gelesen hast, weisst Du das aber doch schon? ;)

    --
    "Die Diebesgilde beklagte sich darueber, dass Mumm in aller Oeffentlichkeit behauptet hatte, hinter den meisten Diebstaehlen steckten Diebe."
          - T. Pratchett