Guten Tag,
Ich habe ein Problem bei einem Datums-sortierungs-query, welches darin liegt, dass ich keinen Plan habe wie ich diesen am besten gestalte.
In der Ausgabe soll das ganz so aussehen:
Datum 1
----1. Inhalt zu Datum 1
----2. Inhalt zu Datum 1
Datum 2
----1. Inhalt zu Datum 2
----2. Inhalt zu Datum 2
----3. Inhalt zu Datum 2
sowohl die Anzahl der Daten als auch die Anzahl der Unterpunkte ist Variabel.
Ich habe bereits rausbekommen, dass ich mit GROUP by zumindest schonmal nach dem Datum gruppieren kann.
Mein Query sieht bislang so aus:
'SELECT * FROM `tabelle` GROUP by `zeit`'
Das Feld Zeit hat in der Tabelle den Typ Datetime, d.h. beim gruppieren würden nur bis auf die Sekunde genaue Einträge gruppiert werden und die wird es nicht geben. Wie kann ich nun etwas à la
'SELECT * FROM `tabelle` GROUP by DATE_FORMAT(zeit, "%d.%m.%Y")'
erreichen, also dass nach dem Feld zeit gruppiert wird, aber nur nach dem Datum und nicht nach der Uhrzeit ?
Ist das ganze so wie ich es mir vorstelle in einem Query zu lösen oder werde ich mir Eckdaten aus der Datenbank ziehen müssen und dann damit den Auslesequery vorbereiten ?
mfg alex
edit:// ahhh falschen Typ ausgewählt... ist ja nur Mysql... naja vllt kommt ja noch PHP mit dazu.
so ich weiss jetzt nicht obs dir hiolft habe aber so was ähnliches auch schon gebraucht und es so gelöst!
$query_years = mysql_query("SELECT DISTINCT jahr FROM kerwerede ORDER BY jahr DESC") or die(mysql_error());
while($row = mysql_fetch_assoc($query_years)) {
$anzahl_jahre = mysql_num_rows($query_years);
?>
<?php $namen = array();
$query_group = mysql_query("SELECT * FROM kerwerede WHERE jahr = $row[jahr]") or die(mysql_error());
while($row2 = mysql_fetch_assoc($query_group)) {
$reden++
?>
erzeugt folgende ausgabe
=>2006
-bla bla
-blubb
=>2005
-haha
-test
usw kannst es ja mal ausprobieren ,.
EDIT: ok hab gesehen da steht auch noch unnützes zeugs drinenn , musst dir eigentlich nur die schleifen anschauen und und die DB-abfrage!