tsunamitsunami
25.08.2009, 11:50:20
Hallo,
ich habe ein Logikproblemchen:
Und zwar frage ich aus einer Datenbank Umsätze und den Monat ab. Das Ganze möchte ich mit googlechart als Diagramm darstellen.
Um das Diagramm immer vollständig darstellen zu können brauche ich in jedem Fall 12 Werte. Der Rest muss mit 0 aufgefüllt werden, da google mir sonst das Diagramm abschneidet.
Meine Idee ist, das ganze in ein assoziatives Array zu packen, mit dem Monatsnamen als Schlüssel.
Also:
2008 sind Daten Von April bis Dezember erfasst. Also muss ich ein Array haben mit
Jan=>0
Feb=>0
Mar=>0
Apr=>Wert4
May=>Wert5
...
2009 sind Daten Von Januar bis August erfasst. Also muss ich ein Array haben mit
Jan=>Wert1
Feb=>Wert2
Mar=>Wert3
...
Aug=>Wert8
Sep=>0
Oct=>0
...
Wenn ich nun das Array gefüllt habe muss ich nach den Schlüsseln suchen. Nur das Problem ist, wenn ich dann herausfinde das zB 2008 kein Wert für Jan existiert, packt der mir den Nullwert hintendran.
Also:
Nov=>Wert11
Dec=>Wert12
Jan=>0
Feb=>0
...
Wie kann ich das vorher abfangen?
while($ausgabe1 = mysql_fetch_assoc($msquery1))
{
$array1[$ausgabe1['monat']]=round($ausgabe1['fahrdurchschnitt'],1);
}
//$ausgabestring0 = implode(",",$array1);
if(!array_key_exists('Jan',$array1))
$array1['Jan']=0;
if(!array_key_exists('Feb',$array1))
$array1['Feb']=0;
if(!array_key_exists('Mar',$array1))
$array1['Mar']=0;
if(!array_key_exists('Apr',$array1))
$array1['Apr']=0;
if(!array_key_exists('May',$array1))
$array1['May']=0;
if(!array_key_exists('Jun',$array1))
$array1['Jun']=0;
if(!array_key_exists('Jul',$array1))
$array1['Jul']=0;
if(!array_key_exists('Aug',$array1))
$array1['Aug']=0;
if(!array_key_exists('Sep',$array1))
$array1['Sep']=0;
if(!array_key_exists('Oct',$array1))
$array1['Oct']=0;
if(!array_key_exists('Nov',$array1))
$array1['Nov']=0;
if(!array_key_exists('Dec',$array1))
$array1['Dec']=0;
$endstring1 = implode(",",$array1);
}
Meine Idee ist nun das array nach Monatnamen zu sortieren, aber kennt arry_sort einen Monatsnamen, alsonicht als Text?
Gruß
tsunamitsunami
ich habe ein Logikproblemchen:
Und zwar frage ich aus einer Datenbank Umsätze und den Monat ab. Das Ganze möchte ich mit googlechart als Diagramm darstellen.
Um das Diagramm immer vollständig darstellen zu können brauche ich in jedem Fall 12 Werte. Der Rest muss mit 0 aufgefüllt werden, da google mir sonst das Diagramm abschneidet.
Meine Idee ist, das ganze in ein assoziatives Array zu packen, mit dem Monatsnamen als Schlüssel.
Also:
2008 sind Daten Von April bis Dezember erfasst. Also muss ich ein Array haben mit
Jan=>0
Feb=>0
Mar=>0
Apr=>Wert4
May=>Wert5
...
2009 sind Daten Von Januar bis August erfasst. Also muss ich ein Array haben mit
Jan=>Wert1
Feb=>Wert2
Mar=>Wert3
...
Aug=>Wert8
Sep=>0
Oct=>0
...
Wenn ich nun das Array gefüllt habe muss ich nach den Schlüsseln suchen. Nur das Problem ist, wenn ich dann herausfinde das zB 2008 kein Wert für Jan existiert, packt der mir den Nullwert hintendran.
Also:
Nov=>Wert11
Dec=>Wert12
Jan=>0
Feb=>0
...
Wie kann ich das vorher abfangen?
while($ausgabe1 = mysql_fetch_assoc($msquery1))
{
$array1[$ausgabe1['monat']]=round($ausgabe1['fahrdurchschnitt'],1);
}
//$ausgabestring0 = implode(",",$array1);
if(!array_key_exists('Jan',$array1))
$array1['Jan']=0;
if(!array_key_exists('Feb',$array1))
$array1['Feb']=0;
if(!array_key_exists('Mar',$array1))
$array1['Mar']=0;
if(!array_key_exists('Apr',$array1))
$array1['Apr']=0;
if(!array_key_exists('May',$array1))
$array1['May']=0;
if(!array_key_exists('Jun',$array1))
$array1['Jun']=0;
if(!array_key_exists('Jul',$array1))
$array1['Jul']=0;
if(!array_key_exists('Aug',$array1))
$array1['Aug']=0;
if(!array_key_exists('Sep',$array1))
$array1['Sep']=0;
if(!array_key_exists('Oct',$array1))
$array1['Oct']=0;
if(!array_key_exists('Nov',$array1))
$array1['Nov']=0;
if(!array_key_exists('Dec',$array1))
$array1['Dec']=0;
$endstring1 = implode(",",$array1);
}
Meine Idee ist nun das array nach Monatnamen zu sortieren, aber kennt arry_sort einen Monatsnamen, alsonicht als Text?
Gruß
tsunamitsunami