CronJob-Service
bei SELFPHP mit ...
|
+ minütlichen Aufrufen
+ eigenem Crontab Eintrag
+ unbegrenzten CronJobs
+ Statistiken
+ Beispielaufrufen
+ Control-Bereich
Führen Sie mit den CronJobs von
SELFPHP zeitgesteuert Programme
auf Ihrem Server
aus. Weitere Infos
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden |
25.08.2009, 10:50:20
|
Junior Member
|
|
Registriert seit: Dec 2005
Alter: 51
Beiträge: 236
|
|
Assotiatives Array Inhalt nach Datum sortieren?
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?
PHP-Code:
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
|
25.08.2009, 10:59:47
|
|
Administrator
|
|
Registriert seit: Jul 2004
Beiträge: 3.707
|
|
AW: Assotiatives Array Inhalt nach Datum sortieren?
Verpasse Deinem Array einen Schlüssel nach dem Muster "JJJJMM" - da kannst Du dann besser sortieren...
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert
Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!
Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
|
25.08.2009, 11:31:11
|
Junior Member
|
|
Registriert seit: Dec 2005
Alter: 51
Beiträge: 236
|
|
AW: Assotiatives Array Inhalt nach Datum sortieren?
Danke! Das war schnell!!!
Ich habe nun den Schlüssel geändert. Die swl-Abfrage schmeisstmir die korrekten werte raus.
PHP-Code:
if(!array_key_exists(01,$array1))
$array1['01']=0;
if(!array_key_exists(02,$array1))
$array1['02']=0;
if(!array_key_exists('03',$array1))
$array1['03']=0;
if(!array_key_exists('04',$array1))
$array1['04']=0;
if(!array_key_exists('05',$array1))
$array1['05']=0;
if(!array_key_exists('06',$array1))
$array1['06']=0;
if(!array_key_exists('07',$array1))
$array1['07']=0;
if(!array_key_exists('08',$array1))
$array1['08']=0;
if(!array_key_exists('09',$array1))
$array1['09']=0;
if(!array_key_exists('10',$array1))
$array1['10']=0;
if(!array_key_exists('11',$array1))
$array1['11']=0;
if(!array_key_exists('12',$array1))
$array1['12']=0;
//echo "Arraygröße:".count($array1);
Es existieren Werte von 04-12. Also müsste ich doch 12 Werte erhalten. Komischerweise bekomme ich mit array_size() 18 heraus. Demnach auch einen falschen string:
endstring: 0,0,0,0,20.7,20.3,0,0,18.8,0,19,21.5,0,0,19.6,19.9,20.1,20
Richtig wäre: 0,0,0,20.7,20.3,18.8,19,21.5,19.6,19.9,20.1,20
|
25.08.2009, 11:37:41
|
Junior Member
|
|
Registriert seit: Dec 2005
Alter: 51
Beiträge: 236
|
|
AW: Assotiatives Array Inhalt nach Datum sortieren?
OK Fehler gefunden:
in der sql-Abfrage hatte ich %c statt%d genommen. Daher kannte er "01" natürlich nicht nur "1".
Danke!
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 09:19:19 Uhr.
|