[PHP]
mysql_query(„SELECT COUNT(*) as anzahl FROM buchungen WHERE gewerbe = ‚$gewerbe‘ AND gezahlt = ‚nein‘ GROUP BY monat“);
[/PHP]Dies funktioniert auch. Allerdings bekomme ich nur die Monate und Gesamtanzahl wo es nicht gezahlte Buchungen gab. Ich möchte aber, dass es am Ende wie folgt aussieht:
ich benutze die Daten um mir Diagramme mit Open Flash Chart erstellen zu lassen.
Ich wüsste nicht wie ich dies so realisieren könnte.
Ich dachte, dass es irgendwie die Möglichkeit gibt dies umzusetzen. Im Endeffekt liegt es ja an dem Group By, dass für den Monat „01“ z.B. nichts angezeigt wird.
Das einzige was mir gerade dazu einfällt wäre eine Abfrage für jeden vorhandenen Monat. Ist aber irgendwie unschön, oder?
Wie schon gesagt, da es keinen Datensätze gibt, kannst du das auch nicht mit einer sql Abfrage lösen. Unschön ist auch ein Feld Monat, mit SQL kannst du auch sehr schön mit Datumsfunktionen arbeiten und bist damit deutlich flexibler.
Aber wie mermshaus schon vorschlug, du kannst doch ohne Probleme, dort wo du die Datensätze dann abfragst die fehlenden Lücken füllen.
danke für eure Antworten. Ich habe es nun mit PHP gelöst. Ich habe also das Array zunächst für alle Monate mit 0 initialisiert und weiße dann einfach mit array[monat] = wert den entsprechenden Wert zu. Funktioniert super
Das Feld Monat habe ich nur zur besseren und einfachereren Gruppierung als Hilfsfeld hinzugefügt.
Was heißt denn Hilfsfeld? Bedeutet das es bereits ein Datumfeld gibt? Dann kannst du einfach daraus mit der Funktion month bei der abfrage den Monat extrahieren. Z.b. so:
[php]mysql_query(„SELECT COUNT(*) as anzahl, MONTH(datum) AS monat
FROM buchungen
WHERE gewerbe = ‚$gewerbe‘ AND gezahlt = ‚nein‘
GROUP BY monat“); [/php]