Hallo Profis,
ich bin PHP/MySQL Anfänger und starte gerade meine ersten Gehversuche.
Auf einer einfachen Homepage meines Sportvereins aktualisiert ein anderes Vereismitglied den Inhalt einer Neuigkeiten-Seite.
Problem, er kann eigentlich kein HTML. Das wenig notwendige für diese Seite habe ich ihm
gezeigt.
Da ich aber jetzt ein toller PHP/MySQL Fachmann werde (an dieser Stelle muß selbst ich lachen),
möchte ich die Seite auf PHP/MySQL umstellen.
Die Einträge für Neuigkeiten stehen einfach untereinander. Sie werden aber durch eine Monatsüberschrift geordnet.
Am Besten, ihr schaut euch das mal eben an, und dann lest ihr weiter.
http://www.phpversuch.de/kb.htm
Meine Frage ist:
Wie bekomme ich diese Monatsüberschriften hin?
Denn die soll ja automatisch generiert werden. Meine Tabelle:
ID | newsueberschrift | newstext | datum ( in der Form: 2004-05-01)
Stünde einfach alles untereinander, bekäme ich es selber hin
select newsueberschrift, newstext, date-format(datum, ‚%m‘) from news order by datum;
Den Monat habe ich schon mal herausselektiert
Dann per php aufdröseln und in eine HTML-Struktur einbinden, etwa so:
while ($news = mysql_fetch_array($newslist))
{
$newsueber = $news[„newsueberschrift“];
$newstext = $news[„newstext“];
$newsdatum = $news[„date-format(datum, ‚%m‘)“];
// News anzeigen
echo(" $newsueber
$newstext");
}
Jetzt stehen die Einträge untereinander, aber leider ohne Monatsüberschrift.
In der Variablen $newsdatum steht ja schon mal der Monat in der Form 01, 02, …
Jetzt könnte ich vieleicht ein Array bilden. Hier wäre dann 01 dem Januar zugeordnet
und so weiter. Also den Monatsnamen habe ich auch schon.
Muß ich jetzt eine Schleife in der Schleife bilden?
Letztendlich muß es so aussehen:
Ist Monat=01 dann schreibe Januar und setze alle Einträge mit Monat=01 darunter.
Irgendwie muß ich das in die obere while-Schleife einbauen.
Nun, ich als Anfänger könnte 12 select Anfragen nach Monaten aufgeteilt machen.
Oder die while-Schleife 12 mal schreiben. Das erscheint mir aber abwegig und unnötig.
Ich habe gerade noch mal so etwas probiert: mit if
while ($news = mysql_fetch_array($newslist))
{
$newsueber = $news[„newsueberschrift“];
$newstext = $news[„newstext“];
$newsdatum = $news[„date-format(datum, ‚%m‘)“];
// News anzeigen
if($newsdatum==„01“){
echo(„Januar 2004
„);
echo(“ $newsueber
$newstext“);
}}
War aber auch nicht richtig
Mache ich alles falsch? Wie bekomme ich das hin?
Welche Schleifenkonstruktion muß ich nehmen?
Ich bin für alle Tipps dankbar.
Gruß Klaus