PHP und mySQL Abfrage

Grobekelle

Mitglied
Guten Tag,

ich habe eine SQL Tabelle in der es 5 Zeilen gibt mit Fabrik A, 12 Zeilen mit Fabrik B und 18 Zeilen mit Fabrik C. Diese möchte ich nun ausgeben und zwar nicht als Aufzählung sondern in der Form:

Gebäude Anzahl
Fabrik A 5
Fabrik B 12
Fabrik C 18
Fabrik D 20

usw.....

Ich habe nicht den geringsten Plan wie ich das realisieren soll, vielleicht kann mir jemand kurz beschreiben wie ich das realisiere.

Gruß Patrick
 
SQL:
select 
    fabrik_name, 
    count(*) as anzahl
from
    farbik
group by
    fabrik_name

Super Danke, die Anzahl wird dann in der Variable anzahl gespeichert?

So ist es dann richtig?

PHP:
$abfrage = "SELECT gebaeude count(*) as anzahl FROM Gebaeude GROUP BY gebaeude WHERE benutzername = '$benutzername'";
$ergebniss = mysql_query($abfrage);
 
anzahl ist dann der Feldname, den du aus dem $ergebiss auslesen kannst

(du solltest nach gebauede noch ein ',' einfügen
PHP:
$abfrage = "SELECT gebaeude, count(*) as anzahl FROM Gebaeude GROUP BY gebaeude WHERE benutzername = '{$benutzername}'";
$ergebniss = mysql_query($abfrage); 
while ($record=mysqli_fetch_object($ergebniss)) {
    echo  $records ->gebaeude;
    echo $record->anazahl;
}
 
Zuletzt bearbeitet:
anzahl ist dann der Feldname, den du aus dem $ergebiss auslesen kannst

(du solltest nach gebauede noch ein ',' einfügen
PHP:
$abfrage = "SELECT gebaeude, count(*) as anzahl FROM Gebaeude GROUP BY gebaeude WHERE benutzername = '{$benutzername}'";
$ergebniss = mysql_query($abfrage); 
while ($record=mysqli_fetch_object($ergebniss)) {
    echo  $records ->gebaeude;
    echo $record->anazahl;
}

Habe es jetzt so.....

PHP:
    echo "<table>";
    
    while ($row2 = mysql_fetch_object($ergebnis2)) {
    
    echo "<tr>";
    echo "<td>";
    echo $row2->gebaude;
    echo "</td>";
    echo "<td>";
    echo $row2->anzahl;
    echo "</td>";
    echo "</tr>";
    
    
    }
    
    echo "</table>";


....bekomme aber diese Fehlermeldung?!

Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in /var/www/web1127/html/kapiland/Kapiscript/main_gebaeude_uebersicht.php on line 41
 
So schaut es nun aus, habe aber immer noch die Fehlermeldung....:(

PHP:
    $abfrage2 = "SELECT gebaeude, count(*) as anzahl FROM Gebaeude GROUP BY gebaeude Where benutzername = '$benutzername_log'";
	  $ergebnis2 = mysql_query($abfrage2);
    
    echo "<table>";
    
    while ($row2 = mysql_fetch_object($ergebnis2)) {
    
    echo "<tr>";
    echo "<td>";
    echo $row2->gebaeude;
    echo "</td>";
    echo "<td>";
    echo $row2->anzahl;
    echo "</td>";
    echo "</tr>";
    
    
    }
    
    echo "</table>";
 
Mach mal
PHP:
$ergebnis2 = mysql_query($abfrage2) or die(mysql_error());

und Poste bitte die Fehlermeldung.
 
WHERE kommt vor dem GROUP BY.
SQL:
SELECT gebaeude, count(*) as anzahl FROM Gebaeude WHERE benutzername = '$benutzername_log'  GROUP BY gebaeude
Oder du nimmst HAVING. Aber in desem SQL mach WHERE mehr sinn, da die Bedinnung ja nicht auf die Gruppierung sondern auf die Quelle der Gruppierung bezogen ist. Normale Reiehnfolge für Seleletstatements
SQL:
SELECT ...
FROM ...
WHERE ...
GROUP BY ...
HAVING ...
ORDER BY
 
Zuletzt bearbeitet von einem Moderator:
Zurück