tutorials.de Buch-Aktion 05/2012
Like Tree3Danke
  • 1 Beitrag von kuddeldaddeldu
  • 1 Beitrag von Yaslaw
  • 1 Beitrag von Yaslaw
ERLEDIGT
JA
ANTWORTEN
14
ZUGRIFFE
177
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Grobekelle Grobekelle ist offline Mitglied Bronze
    Registriert seit
    Jul 2009
    Beiträge
    37
    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
     

  2. #2
    kuddeldaddeldu kuddeldaddeldu ist offline Mitglied Diamant
    Registriert seit
    Dec 2007
    Ort
    Bremen
    Beiträge
    3.418
    Hi,

    mit einer gruppierten Abfrage und der Funktion COUNT() ist das kein Problem. Schau Dir mal das erste Beispiel an.

    LG
    Grobekelle bedankt sich. 
    Da es nötig zu werden scheint: Ich leiste hier keinen Support über PN. Stellt Rückfragen zu Euren Problemen bitte in Eurem Thread, dann können alle helfen.

  3. #3
    Avatar von Yaslaw
    Yaslaw Yaslaw ist offline n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    Code sql:
    1
    2
    3
    4
    5
    6
    7
    
    SELECT 
        fabrik_name, 
        COUNT(*) AS anzahl
    FROM
        farbik
    GROUP BY
        fabrik_name
    Grobekelle bedankt sich. 
    ---------------------------------------------------------------------------------------------------
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben

  4. #4
    Grobekelle Grobekelle ist offline Mitglied Bronze
    Registriert seit
    Jul 2009
    Beiträge
    37
    Zitat Zitat von yaslaw Beitrag anzeigen
    Code sql:
    1
    2
    3
    4
    5
    6
    7
    
    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-Code:
    $abfrage "SELECT gebaeude count(*) as anzahl FROM Gebaeude GROUP BY gebaeude WHERE benutzername = '$benutzername'";
    $ergebniss mysql_query($abfrage); 
     

  5. #5
    Avatar von Yaslaw
    Yaslaw Yaslaw ist offline n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    anzahl ist dann der Feldname, den du aus dem $ergebiss auslesen kannst

    (du solltest nach gebauede noch ein ',' einfügen
    PHP-Code:
    $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;

    Geändert von Yaslaw (01.10.09 um 14:00 Uhr) Grund: Alte angewohnheit: Variabeln innerhalb eines Strings in {} gesetzt
     
    ---------------------------------------------------------------------------------------------------
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben

  6. #6
    Grobekelle Grobekelle ist offline Mitglied Bronze
    Registriert seit
    Jul 2009
    Beiträge
    37
    Zitat Zitat von yaslaw Beitrag anzeigen
    anzahl ist dann der Feldname, den du aus dem $ergebiss auslesen kannst

    (du solltest nach gebauede noch ein ',' einfügen
    PHP-Code:
    $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-Code:
        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
     

  7. #7
    Grobekelle Grobekelle ist offline Mitglied Bronze
    Registriert seit
    Jul 2009
    Beiträge
    37
    So schaut es nun aus, habe aber immer noch die Fehlermeldung....

    PHP-Code:
        $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>"
     

  8. #8
    Avatar von Maniac
    Maniac Maniac ist offline Mitglied Smaragd
    Registriert seit
    Apr 2007
    Ort
    Augsburg/Gersthofen (Bayern)
    Beiträge
    1.204
    Mach mal
    PHP-Code:
    $ergebnis2 mysql_query($abfrage2) or die(mysql_error()); 
    und Poste bitte die Fehlermeldung.
     

  9. #9
    Avatar von Yaslaw
    Yaslaw Yaslaw ist offline n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    WHERE kommt vor dem GROUP BY.
    Code sql:
    1
    
    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
    Code sql:
    1
    2
    3
    4
    5
    6
    
    SELECT ...
    FROM ...
    WHERE ...
    GROUP BY ...
    HAVING ...
    ORDER BY
    Grobekelle bedankt sich. 
    ---------------------------------------------------------------------------------------------------
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben

  10. #10
    Grobekelle Grobekelle ist offline Mitglied Bronze
    Registriert seit
    Jul 2009
    Beiträge
    37
    Zitat Zitat von Maniac_81 Beitrag anzeigen
    Mach mal
    PHP-Code:
    $ergebnis2 mysql_query($abfrage2) or die(mysql_error()); 
    und Poste bitte die Fehlermeldung.
    Jetzt bekomme ich diese Meldung:

    Fehler in der SQL-Syntax. Bitte die korrekte Syntax im Handbuch nachschlagen bei 'WHERE benutzername = 'Grobekelle'' in Zeile 1
     

  11. #11
    Avatar von Yaslaw
    Yaslaw Yaslaw ist offline n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
     
    ---------------------------------------------------------------------------------------------------
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben

  12. #12
    Grobekelle Grobekelle ist offline Mitglied Bronze
    Registriert seit
    Jul 2009
    Beiträge
    37
    Zitat Zitat von yaslaw Beitrag anzeigen
    WHERE kommt vor dem GROUP BY.
    Code sql:
    1
    
    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
    Code sql:
    1
    2
    3
    4
    5
    6
    
    SELECT ...
    FROM ...
    WHERE ...
    GROUP BY ...
    HAVING ...
    ORDER BY
    Da lag der Fehler, nun funktioniert es! Super tausend Dank!

    lg
     

  13. #13
    Avatar von Splater
    Splater Splater ist offline Mitglied Brokat
    Registriert seit
    Dec 2008
    Ort
    Machern, Germany
    Beiträge
    306
    hallo
    PHP-Code:
    $abfrage2 "SELECT gebaeude, count(*) as anzahl FROM Gebaeude GROUP BY gebaeude WHERE benutzername = '".$benutzername_log."'"
     
    Ohooo, was ist das? Ein Türknopf? Ausgezeichnet!

  14. #14
    Avatar von Yaslaw
    Yaslaw Yaslaw ist offline n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    Zitat Zitat von Splater Beitrag anzeigen
    hallo
    PHP-Code:
    $abfrage2 "SELECT gebaeude, count(*) as anzahl FROM Gebaeude GROUP BY gebaeude WHERE benutzername = '".$benutzername_log."'"
    möp. Falscher Tipp, das wird nicht funktionieren.
    WHERE kommt immer vor GROUP BY.

    Und ob die Variable jetzt innerhalb der "" ist oder nicht ändert das SQL im Endeffekt um kein Bit
     
    ---------------------------------------------------------------------------------------------------
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben

  15. #15
    Avatar von Splater
    Splater Splater ist offline Mitglied Brokat
    Registriert seit
    Dec 2008
    Ort
    Machern, Germany
    Beiträge
    306
    Auf die anordnung hab ich gerade kein stück geachtet sry
     
    Ohooo, was ist das? Ein Türknopf? Ausgezeichnet!

Ähnliche Themen

  1. MySQL : Nicht funktionierende Abfrage, eventuell wegen MySQL-Version?
    Von shredder01 im Forum Relationale Datenbanksysteme
    Antworten: 0
    Letzter Beitrag: 17.11.07, 16:44
  2. MySQL Abfrage mit PHP if Abfrage vergleichen
    Von son gohan im Forum Relationale Datenbanksysteme
    Antworten: 13
    Letzter Beitrag: 26.09.05, 11:24
  3. MYSQL Abfrage mit Select in der Like-Abfrage
    Von TSchreiber im Forum Relationale Datenbanksysteme
    Antworten: 1
    Letzter Beitrag: 10.04.05, 19:09
  4. [mysql] Hilfe bei komplizierter MySQL Abfrage
    Von Tarta im Forum Relationale Datenbanksysteme
    Antworten: 7
    Letzter Beitrag: 06.05.04, 21:15
  5. [MySql] Where Abfrage
    Von Flo[H] im Forum Relationale Datenbanksysteme
    Antworten: 8
    Letzter Beitrag: 08.11.03, 00:09