Timestamp nach Monaten gruppieren und auslesen

fablei

Grünschnabel
Hallo,
ich wollte mal fragen, ob es möglich ist, anhand einer mysql-Abfrage einen gespeicherten Timestamp (int 11) aus einer Tabelle so auszulesen, dass man immer einen Monat abdeckt und diesen dann gruppiert ausgibt.

Gruß,
Fabian
 
Probier mal Folgendes:
Code:
SELECT
        …
  FROM
        …
  GROUP BY
        DATE_FORMAT(FROM_UNIXTIME(`unix_timestamp`), "%Y-%m")
 
Dankeschön das hat schon mal ausgezeichnet geklappt. Habe mir auch gleich nochmal die Befehle in der mysql Referenz reingezogen. Wow, was da alles möglich ist. Man kann vielmehr mit mysql machen als man denkt.Hätte mir wohl schon so manche PHP Funktion ersparen können :)

Eine Sache hätte ich aber noch...

Wenn ich nun in einer Schleife die Gruppierten Daten ausgebe und in einer 2ten Schleife nun alles des jeweiligen Monats ausgeben möchte, wie müsste die SQL Abfrage aussehen?

PHP:
$mooa = "SELECT datum FROM `tabelle` WHERE kategorie='party' GROUP BY DATE_FORMAT(FROM_UNIXTIME(`datum`), '%Y-%m') ORDER BY datum ASC";
$moou = mysql_query($mooa);
while($moof = mysql_fetch_array($moou))
{
#---Hier die Ausgabe der Monate in einer Tabelle

$moo = "SELECT * FROM `tabelle` WHERE kategorie='party'  HIER FEHLT WAS ORDER BY datum ASC";
$moow = mysql_query($moo);
while($mooe = mysql_fetch_array($moow))
{
#---Hier die Ausgabe der einzelnen Daten des jeweiligen Monats
}
}

Vielen Dank,
Fabian
 
Du müsstest dir die Monatsgruppierung selbst mit selektieren, damit du sie dann in PHP weiterverarbeiten kannst.

Code:
Select a, b, DATE_FORMAT(FROM_UNIXTIME(`datum`), '%Y-%m') FROM AS "Monat" .....

$daten = mysql_fetch_object($abfrage);
$monat = $daten->Monat;
 
Dankeschön,
das hat mich weitergebracht.

Skript sieht jetzt so aus und macht was es soll :) nämlich einen Timestamp aufzuteilen in die einzelnen Monate eines Jahres und einer gleichzeitigen Ausgabe aller Termine und Events in diesem Monat.

PHP:
$mooa = "SELECT DATE_FORMAT(FROM_UNIXTIME(`datum`), '%m.%Y') AS 'komplett', DATE_FORMAT(FROM_UNIXTIME(`datum`), '%m') AS 'Monat',DATE_FORMAT(FROM_UNIXTIME(`datum`), '%Y') AS 'Jahr',id,datum,einlass,beginn,preis,name,kurzbeschreibung FROM `tabelle` WHERE kategorie='party' GROUP BY DATE_FORMAT(FROM_UNIXTIME(`datum`), '%m %Y') ORDER BY datum ASC";
$moou = mysql_query($mooa);

while($moof = mysql_fetch_object($moou))
{

$mon = $moof->Monat;
$jahr = $moof->Jahr;
$komplett = $moof->komplett;


###Ausgabe TabellenKopf

$moo = "SELECT * FROM `tabelle` WHERE kategorie='party' AND DATE_FORMAT(FROM_UNIXTIME(`datum`), '%m.%Y') = '$komplett' ORDER BY datum ASC";
$moow = mysql_query($moo);
while($mooe = mysql_fetch_array($moow))
{
###Ausgabe TabellenInhalt
}
}

Gruß und vielen Dank,
Fabian
 
Zurück