datenbank eintrag auf monat überprüfen?

Stephan Liebig

Erfahrenes Mitglied
Ich habe nun folgendes Problem. Ich habe eine ewiglange Liste mit Veranstaltungen und so in meiner Datenbank. Bei der Auswahl kompletter Dienstplan hätte ich ganz gerne, dass ich nach jedem Monat die Kopfzeile der Tabelle wiederhole.

PHP:
function dienstplan_head()
	{
	   echo '<tr>';
    		echo '<td><b>Datum</b></td>';
    		echo '<td><b>Veranstaltung</b></td>';
    		echo '<td><b>Verantwortlich</b></td>';
    		echo '<td><b>Zeit</b></td>';
    		echo '<td><b>Theke</b></td>';
   		echo '<td><b>K&uuml;che</b></td>';
    		echo '<td><b>Bar</b></td>';
    		echo '<td><b>Bedienung</b></td>';
    		echo '<td><b>Kuchentheke</b></td>';
    		echo '<td><b>Kuchenbacken</b></td>';
    		echo '<td><b>Bemerkung</b></td>';
  	   echo '</tr>';
	}

Also quasi so:
Code:
DATUM..........FELD2...........FELD3.........FELD4.......
01.01.2008.....Blubb.............Blubb...........Blubb........
03.01.2008.....Muhh.............Muhh............Muhh........
usw..
31.01.2008.....Dubb..............Di.................Da...........
DATUM..........FELD2...........FELD3.........FELD4.......
01.02.2008......ddddd............ddddd..........dddddd

Wie mach ich das denn am besten?

PHP:
$result = mysql_query("SELECT * FROM ".$sql_table5." ORDER BY Dienstid ASC", $conn) or die(mysql_error()); 
		
	 while($data = mysql_fetch_assoc($result)) {
		
		dienstplan($data);
		#check_month($data);
		
	 }

Mein erster Versuch sah folgendermasen aus:

PHP:
function check_month($data)
	{
		$month_pre = mysql_query("SELECT MONTH(Datum), Dienstid FROM ".$sql_table5." WHERE 'Dienstid = ".$data[Dienstid]." - 1' ORDER BY Dienstid ASC", $conn) or die(mysql_error()); 
		$older_month = mysql_fetch_assoc($month_pre);
		$temp2 = explode("-",$data[Datum]);
		$month = $temp2[1];
		
		if($month > $older_month)
		{
			echo '<tr>';
    		echo '<td><b>Datum</b></td>';
    		echo '<td><b>Veranstaltung</b></td>';
    		echo '<td><b>Verantwortlich</b></td>';
    		echo '<td><b>Zeit</b></td>';
    		echo '<td><b>Theke</b></td>';
   		echo '<td><b>K&uuml;che</b></td>';
    		echo '<td><b>Bar</b></td>';
    		echo '<td><b>Bedienung</b></td>';
    		echo '<td><b>Kuchentheke</b></td>';
    		echo '<td><b>Kuchenbacken</b></td>';
    		echo '<td><b>Bemerkung</b></td>';
  	   		echo '</tr>';
		}
	}
 
Prüfe am Anfang der Schleife die aktuelle Monatszahls mit der des letzten Durchlaufs. Sind diese nicht identisch, gib die Kopfzeile aus. Am Ende der Schleife aktualisierst du dann die Variable, die die Monatszahl für den Vergleich im nächsten Durchlauf enthält.
 
Zurück