Bestimmte Monate anzeigen

Halpha

Erfahrenes Mitglied
Hallo, ich brauch mal eine gute idee;)

Situtation: ich bastle einen kleinen Kalender, d.h man kann Termine eintragen und die werden dann wie folgt geordnet:

Februar
xyz termin

März
xyz termin

April
xyz termin

Mai
xyz termin

So jetzt wenn man aber ein Limit setzt von 10 Terminen die angezeigt werden, wird es Im Dezember bestimmt keine Januar Termine mehr anzeigen, d.h Januar würde leer da stehen, das möchte ich nicht, jetzt dacht ich mir ich bau das so dass nur der Monat dort steht wenn auch ein Termin in den letzten 10 Terminen in dem Monat war. Nur leider fällt mir nichts ein wie ich das bauen könnte.

Natürlich sind Tipps in PHP und MySql + PDO + Jquery gern gesehen;)

Danke schon mal;)

Lg

Michael
 
Hi

kannst du mir da nochmal ein besseres Beispiel geben? Gehe mal bitte davon aus, dass jetzt Juni ist und dass du 10Termine einträgst. Was soll jetzt sichtbar sein und was nicht? Wie ist außerdem deine Datenbank-Tabelle aufgebaut?
 
also ein Beispiel:

5 Termine 2 im Juni 2 im Juli 1 im August

dann wird angezeigt:

Juni
XY Termin
ab Termin

Juli
xc termin
gd Termin

August
Ni Termin

mehr nicht;) db

id date title Text ist mal fürs grundgerüst

lg
 
Du liest alles im betroffenen Zeitraum aus und sortierst schon bei der Abfrage nach Zeitstempel.
Das PHP-Skript erkennt dann Monatswechsel und gibt dies entsprechend aus.
 
das mit dem sortieren hätt ich auch schon probiert nur dann wird mein Monat 2 mal ausgegeben;)

Also hier mal der code:

PHP:
<?php
		$sql = "SELECT * FROM rubic_mod_timetable WHERE `active`=1 ORDER BY `timestamp`";
		$PDO = dbcon::getPDO ();
		$stmt = $PDO->prepare ( $sql );
		$stmt->execute ();


		echo "<div class='accordion'>";

		while ( $row = $stmt->fetch() ) {
			
			echo "<h2>";
			$month = date('F',$row[timestamp]);

				echo $month;

			echo "</h2>";
			
			echo "<h3>$row[title]<div id='accordion-date'>".date('d.m.y',$row[timestamp])."</div></h3>";
			echo "<p>
			<table>
			<tr><td>Uhrzeit:</td><td> ".date('d.m.y',$row[timestamp])."</td></tr>
			<tr><td>Ort:</td><td> $row[location]</td></tr>
			<tr><td>Veranstalter:</td><td> $row[organizer]</td></tr>
			<tr><td>Website:</td><td> <a href='http://$row[website]'>$row[website]</a></td></tr>
			<tr><td>Kategorie:</td><td> $row[category]</td></tr>
			<tr><td>Beschreibung:</td><td> $row[text]</td></tr>
			</table>
			</p>";
		}
		echo "</div>";
	}
}

?>

Jetzt wenn ich 2 Termine hab die im Januar sind wird Jannuar untereinander 2 mal ausgegeben und darunter jeweils ein Termin. Ich steh total auf der Leitung wie ich das am besten mach;)

LG
 
Ändere folgende Zeilen
PHP:
echo "<h2>";
$month = date('F',$row[timestamp]);
echo $month;
echo "</h2>";
so (in etwa) um
PHP:
if($month != date('F',$row[timestamp]))
{
    echo "<h2>";
    $month = date('F',$row[timestamp]);
    echo $month;
    echo "</h2>"; 
}

Du merkst dir also den Monat und gibst ihn nur aus, wenn er sich ändert.
 
Zurück