Schönen guten Abend.
Ich hänge gerade dabei einen SQL-Query in ein Array einzulesen. Hört sich erstmal einfach an, ist es jedoch in meinem Falle nicht.
Ich bekomme aus meinem Query folgende Struktur:
Tag | Stunde | Details
14.01. | 1 | lal
15.01. | 1 | lala
16.01. | 1 | lalal
14.01. | 2 | tes
15.01. | 2 | test
usw.
$schedule = array();
while($row=$db->fetchRow())
{
if(!in_array($row['ndate'], $schedule))
{
$schedule[$row['ndate']]= array();
for($a=1; $a<=$max_hours['maxhours']; $a++)
{
$schedule[$row['ndate']][$a] = "";
}
}
$schedule[$row['ndate']][$row['nhour']] = $row['nsubject']." ".$row['nteacher']." ".$row['nroom'];
}
Diese Schleife macht folgendes:
Es prüft ob ein bestimmtes Datum schon in dem Hauptarray ist. Wenn nicht, dann lege das Datum als Array in dem Hauptarray an.
Danach soll es die jeweiligen Stunden in die Datumsarrays einfüllen.
Struktur:
array()
|------------Datumsarray(z.B. 14.01.2008)
|-----------Stunde 1 => Wert
|-----------Stunde 2 => Wert
|------------Datumsarray(z.B. 15.01.2008)
|-----------Stunde 1 => Wert
usw.
Folgende Struktur bekomme ich geliefert:
Array
(
[21.01.2008] => Array
(
[1] =>
[2] =>
[3] =>
[4] =>
[5] =>
[6] =>
[7] =>
[8] => im ba E2
[9] =>
[10] =>
)
[22.01.2008] => Array
(
[1] =>
[2] =>
[3] =>
[4] =>
[5] =>
[6] =>
[7] =>
[8] => re sm R5
[9] =>
[10] =>
)
[23.01.2008] => Array
(
[1] =>
[2] =>
[3] =>
[4] =>
[5] =>
[6] =>
[7] =>
[8] =>
[9] =>
[10] => im ba E2
)
[24.01.2008] => Array
(
[1] =>
[2] =>
[3] =>
[4] =>
[5] =>
[6] =>
[7] =>
[8] => re sm R5
[9] =>
[10] =>
)
[25.01.2008] => Array
(
[1] =>
[2] =>
[3] =>
[4] =>
[5] =>
[6] =>
[7] =>
[8] => im ba E2
[9] =>
[10] =>
)
[26.01.2008] => Array
(
[1] =>
[2] =>
[3] =>
[4] =>
[5] =>
[6] =>
[7] =>
[8] => re sm R5
[9] =>
[10] =>
)
)
Es schreibt also nur die für den jeweiligen Tag letzten Stunden.
Z.B. die 8St., 8St., 10St., usw.
Es muss aber jede schreiben.
Weiß jemand wo mein Denkfehler liegt ?
Ich danke im Voraus