Anzahl der Buchungen eines Kunden

dreggert

Mitglied
Hallo

Ich hab da grad nen Hänger. Ich habe zwei Tabellen:
Tabelle 1: Kundendaten
Tabelle 2: Buchungen der Kunden.

Der PK_ID von Tabelle 1 ist als FK in Tabelle 2 hinterlegt. Ich möchte nun eine Auswertung basteln, die mir ausgibt, wie oft ein Kunde bereits bei uns etwas gebucht hat. Soweit so gut. Ich habe eine SQL Abfrage gebaut, die mir die ID sowie den Namen und Vornamen ausliest. Die zweite Abfrage geht auf Tabelle 2 um dort die Anzahl der Buchungen rauszuziehen. Das klappt soweit. Aber ich möchte gern die Ausgabe so sortieren, dass der mit den meisten Buchungen ganz oben steht.

Code:
$auswertung="SELECT * FROM `Rezervi_Gast`";
    $saison_erg = MYSQL_QUERY($auswertung);
  while($row = MYSQL_FETCH_ARRAY($saison_erg,MYSQL_ASSOC)){
      $id=$row['PK_ID'];
      $vname=$row['Vorname'];
      $name=$row['Nachname'];
     
    
    $test="SELECT COUNT(`PK_ID`)AS 'Buchungen' FROM `Rezervi_Reservierung` WHERE `FK_Gast_ID` = $id";
    $test_erg = MYSQL_QUERY($test);
    $test_row = MYSQL_FETCH_ARRAY($test_erg,MYSQL_ASSOC);

    echo $test_row['Buchungen'];
   
    
      echo $vname;
 
      echo $name;
    
      echo $id;

Hat jemand eine Idee wie ich es besser gestalten kann?
 
Also erstmal ist der Query in dem Query ne schlechte Idee. Nimm lieber GROUP BY und evt noch nen JOIN. Um das aktuelle Problem zu lösen, musst du dem Query noch ein ORDER BY Buchungen DESC spendieren. Und mysql_* Funktionen sollten auch nicht mehr benutzt werden. Die aktuelle PHP-Version gibt auch schon entsprechende Warnungen aus.
 
Hi alxy! :)

Mal ganz frei aus dem Kopf ohne zu testen:

SQL:
SELECT k.Vorname, k.Nachname, COUNT(b.BuchungID) AS AnzahlBuchungen
FROM TB_KUNDE k
INNER JOIN TB_Buchungen b ON k.KundeID = b.KundeID
GROUP BY k.KundeID
ORDER BY AnzahlBuchungen DESC;

Die Namen der Tabellen / Spalten musst du natürlich dementsprechend anpassen ;)

Gruß
Daniel
 
Oh, da hab ich mich wohl beim Namen verkuckt, als ich vorhin geantwortet hab :confused:
Aber ist ja auch egal, Hauptsache ich konnte helfen :)
 

Neue Beiträge

Zurück