Moins,
ich guck grad mal wieder wie "Schwein ins Uhrwerk"....
folgendes:
mein Script fragt eine Datenbank ab nach Jahr und Monat
Code:
$resultt = MYSQL_QUERY("SELECT monat, jahr, datum FROM $tabelle$dbuser WHERE ... ORDER BY ...");
dabei wird logischerweise nur das ausgegeben, was auch in der DB steht. Also wenn
$monat vorhanden, dann wird er ausgegeben (
$jahr is für mein problem aussen vor).
Code:
while(list($monatt, $jahrr, $datumm) = @mysql_fetch_row($resultt)) {
echo "<a href=\"totalegal\" class=green>".$monatt."</a> ";
}
Ausabge ist zB:
August September OktoberNun hätte ich aber gerne, dass die Lücken, also die Monate die nicht vorhanden sind, autom. aufgefüllt werden.
also so dann in der Ausgabe:
Januar Februar März April Mai Juni Juli August September Oktober November DezemberUm das hin zu bekommen, dachte ich, wäre eine for-Schleife nicht schlecht (okay, basiert auf nem anderen Script

)
Also das gebastelt:
Code:
$mntcnt = mysql_query("select COUNT(DISTINCT monat) FROM $tabelle$dbuser WHERE jahr='$jahr'"); //Zählen wieviele Monate für das $jahr eingetragen sind
list($mcnt) = mysql_fetch_row($mntcnt);
for($kmonat = $mcnt+1; $kmonat <= 12; $kmonat++) {
while(list($monatt, $jahrr, $datumm) = @mysql_fetch_row($resultt)) {
echo "<a href=\"totalegal\" class=green>".$monatt."</a> ";
}
echo strftime("%B", mktime(0, 0, 0, $kmonat, 1, $jahr))." ";
}
Das funktioniert auch prima, aber nur wenn brav der Januar Februar usw aus der DB kommt, dann wird der fehlende Rest hinten angefügt. Fehlt vorne was kommt zuerst was in der DB ist und dann der "Auffüller" (dann noch nicht mal richtig). Ich weiß, dass es an meinem
$mcnt liegt. Ich dachte damit kann ich den Startpunkt der Schleife einfach setzen, aber wie gesagt, wenn vorne was fehlt, is das mist. Und ich weiß auch, dass es an der Reihenfolge liegt. Jede andere Konstellation brachte aber ein ähnlich unbefriedigendes Ergebnis. Die for-Schleife in die while-Schleife zu packen ist ne ganz blöde Idee. Genauso die while-Schleife weg zu lassen. Ich finde einfach keine Abgleichmöglichkeit
Hat da zufällig wer ne Idee, wie ich das simple abgleichen könnte? Mit If-Schleifen oder sowas?
Komplizierte Stunden-, Schicht- und Zulagenberechnung bekomme ich hin, aber so ne einfachen Sachen net

greetz
JMD