2 Dimensionales Array

darkkiller_

Grünschnabel
Hallo,

Ich arbeite momentan an einem Kalender,
Basis ist eine MySQL datenbank die meine einträge gespeichert hat anhand von:
ID | Datum | Inhalt | Stunden
Der auslesevorgang:

PHP:
$sql = "SELECT *,
				date_format(Datum, '%d.%m') AS Datum,
				date_format(Datum, '%k') As Zeit
				from kalender WHERE Datum >= '".$montagsql."' AND Datum <= '".$sonntagsql."'";
$query = mysql_query($sql); 


while ( $row = mysql_fetch_array($query))
{
	$icon = icon($row['Kategorie']);

	if($row['Stunden'] > "1")
	{
		
		$dauer = $row['Zeit'];
		for($i=0;$i<$row['Stunden'];$i++)
		{
			$Kalender[$row['Datum']][$dauer]=
			'<img src="../'.$icon.'" onmouseover="Tip(\''.$row['Inhalt'].'\')">';	
			$dauer++;
		}
	}
	else
	{
	$Kalender[$row['Datum']][$row['Zeit']]= 
	'<img src="../'.$icon.'" onmouseover="Tip(\''.$row['Inhalt'].'\')">';
	}
	
	
}

und will sie danach in einer Tabelle ausgeben die in einzelne Stunden unterteilt ist:
PHP:
	for($uhr=8;$uhr<22;$uhr++)
	{

	echo '<tr>
			<td align=Right class="uhrzeit">'.$uhr.' : 00</td>';
				echo '<td class="hover">';
				if(!empty($Kalender[$montag][$uhr]) AND $uhr==$Kalender[$montag])
				foreach($Kalender[$montag] as $Kalendereintrag)
				echo $Kalendereintrag;
				else echo '&nbsp;';
				echo '</td>';
				
				echo '<td class="hover">';
	
 	
			 	if(!empty($Kalender[$dienstag][$uhr]))
				foreach($Kalender[$dienstag] as $Kalendereintrag)
				echo $Kalendereintrag;
				else echo '&nbsp;';
				echo '</td>';
				
				echo '<td class="hover">';

				if(!empty($Kalender[$mittwoch][$uhr]))
				foreach($Kalender[$mittwoch] as $Kalendereintrag)
				echo $Kalendereintrag;
				else echo '&nbsp;';
				echo '</td>';
				
				echo '<td class="hover"> ';
				if(!empty($Kalender[$donnerstag][$uhr]))
				foreach($Kalender[$donnerstag] as $Kalendereintrag)
				echo $Kalendereintrag;
				else echo '&nbsp;';
				echo '</td>';
				
				echo '<td class="hover">';
				if(!empty($Kalender[$freitag][$uhr]))
				foreach($Kalender[$freitag] as $Kalendereintrag)
				echo $Kalendereintrag;
				else echo '&nbsp;';
				echo '</td>';
				
				echo '<td class="hover">';
				if(!empty($Kalender[$samstag][$uhr]))
				foreach($Kalender[$samstag] as $Kalendereintrag)
				echo $Kalendereintrag;
				else echo '&nbsp;';
				echo '</td>';
				
				echo '<td class="hover">';
				if(!empty($Kalender[$sonntag][$uhr]))
				foreach($Kalender[$sonntag] as $Kalendereintrag)
				echo $Kalendereintrag;
				else echo '&nbsp;';
				echo '</td>';			

			echo '</tr>';
	}

Nur leider fehlt es einfach an der Ausgabe,
sofern es für eine Uhrzeit nur einen Eintrag gibt funktioniert es fabelhaft, doch sobald es 2 einträge für die gleiche Uhrzeit gibt habe ich den 2ten eintrag in jeder zeile ?

Kann mir hierbei wer helfen ?
 
Zuletzt bearbeitet:
Wo definierst du denn unter anderem $montag und so weiter und so fort?
Wenn du non-strict arbeitest, wäre es gut möglich, dass die nicht deklarierten Werte auf null ==> 0 gewertet werden, und somit immer auf den selben Tag verweisen. Was das dann bei der Auswertung bewirkt, ist dass immer mit dem gleichen Datensatz gearbeitet wird.

Und noch ein Anliegen hätte ich an dich:
Code:
{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
Die sollten ausreichen, hoffe ich... Kannst du bitte deinen Ausgabeblock ordentlich mit Klammern und Einrückungen versehen? Für dich mag es noch okay sein, das zu lesen, aber ich find es etwas unangenehm, immer erst suchen zu müssen, welcher Codeblock in welchem Geltungsbereich liegt.
 
Zurück