DB-Inhalte dynamisch nach Monaten sortiert auslesen

27apricot

Erfahrenes Mitglied
Hallo,

ich möchte das Konzertprogramm für die Internetseite eines Clubs in Zukunft in eine MySQL-DB speichern und mit PHP auslesen lassen.
Als totaler Programmieranfänger hab' ich immerhin schon rausgefunden, wie ich die Daten in die DB eingeben und Sie mit PHP auslesen kann.
Was noch fehlt, ist die automatische Aufteilung nach Monaten. Manuell krieg' ich das hin über die Abfrage der DB (mit WHERE + LIKE).

Wie aber kann ich das dynamisieren? Also: Betrachter X klickt in der Übersicht "OKTOBER" an und das PHP-Script liest nur die Daten von Oktober aus. Das gleiche Script aber liest auch die Daten für November aus, wenn Betrachter Y "NOVEMBER" anklickt.

Bin für jede Hilfe sehr, sehr dankbar.
27apricot
 
Die Funktionen "MONTH()" bzw. "MONTHNAME()" liefern dir den Monat einer Spalte vom Typ DATE/TIME/DATETIME.....danach kannst du in deinem Query select()'ieren.
 
Hallo,

danke für die schnelle Antwort. Ich komme aber leider nicht weiter.
über

$sql = "SELECT datum, titel, inhalt
FROM konzerte
WHERE datum LIKE '2004-11-__'
ORDER BY datum ASC;";

kann ich zwar manuell alle Konzerte eines bestimmten Monats (in dem Falle November 2004) auslesen, müsste aber für jeden Monat eine neue .php-Datei schreiben, in der dann lediglich die LIKE-Klausel anders definiert ist.

Jedoch will ich in einer "vorgeschalteten" Datei z.B. Links wie
November 2004
Dezember 2004
stehen haben, die dann ein und dieselbe .php-Datei aufrufen mit dem jeweiligen Monatsprogramm.

danke nochmals.
27apricot
 
Du kannst diese Variablen aus den Links doch in dein Query einbauen:
PHP:
//<a href="programm.php?jahr=2004&amp;monat=11">November 2004</a>

sql = "SELECT datum, titel, inhalt
FROM konzerte
WHERE datum LIKE '".$_GET['jahr'].'-'.$_GET['monat']."-%'
ORDER BY datum ASC";
 
Vielen Dank fatalus,

hatte es inzwischen rausgefunden. Ich habe es allerdings zusätzlich über den Umweg einer Variable bewerkstelligt, um es mit einer if/else-Abfrage kombinieren zu können, durch welche der aktuelle Monat angegeben wird, sollte keine Variable definiert sein.

PHP:
//<a href="programm.php?monat=2004-11">November 2004</a>

if(isset($_GET['monat'])) { $auswahl = $_GET['monat']."-__"; } 
    else { $auswahl = date("Y-m")."-__"; }
$sql = "SELECT datum, titel, inhalt 
    FROM konzerte
    WHERE datum LIKE '$auswahl'  
    ORDER BY 
    datum ASC;";

ciao + nochmals vielen dank!
 
Zurück