Einträge tagesabhängig abfragen

Sven Mintel hat gesagt.:
Das zeigt aber nicht die Beiträge der letzen 3 Tage, sondern die der letzten 3 Tage seit dem letzten Eintrag.
Wurde bspw. das letzte mal Ostermontag etwas eingetragen, dann sind da noch Beiträge von Karfreitag bei... nicht grad neu, oder :)
Dann interpretieren wir Sebigfs Vorgabe wohl unterschiedlich.
Sebigf hat gesagt.:
Also wenn der letzte Post von heute gesehen am Donnerstag war, sollen Dienstag, Mittwoch und Donnerstag angezeigt werden... Sonst nichts.
 
Hehe... Freut mich, dass ich für viel Gesprächsstoff sorge ;-]
Ich möchte sowas hier haben: http://www.xbox2-newz.de/v2/index.php (News-Spalte... links)

Bei dieser Seite ist es so, dass wenn heute keine News gepostet worden währen, trotzdem drei Tage angezeigt werden. Nämlich Sonntag, Samstag und eben der Freitag (von heute aus gesehen...).

Und wenn heute gepostet worden währe, wie es ja auch ist, dann eben von Heute (Montag), Sonntag und Samstag...

Und das würde ich gerne in einer "flexiblen" (schnellen) Query umsetzen :)
 
Dann brauchst du eine GROUP BY-Klausel, mit der du erstmal die Ergebnisse nach Tagen gruppierst....und dann holst du halt die "jüngsten" 3 Gruppen.

Andernfalls kriegts du ja bspw. keine 3 Tage mit Texten, wenn bspw. heute jemand was geschrieben hat, und davor 5 Tage lang keiner etwas zu berichten hatte.
 
Also reden wir jetzt wieder von 2 Querys ?

- Tages-Query
- Item-Query

? Oder meinst du das zusammen in einer Query ? Hast du vielleicht ein kleines Beispiel für mich parat, wie genau du das meinst ? Währe super ;-]
 
Ui, also ich blicke nicht mehr durch ;)
Kannst mir nochmal helfen...

SELECT id, TO_DAYS(NOW()) - TO_DAYS(added) AS howold FROM tabelle GROUP BY howold ORDER BY howold DESC LIMIT 3

So ?
 
Probier’s doch einfach aus, kaputt machen kannst du nichts.

Ich glaube aber, dass MySQL dir dabei einen Strich durch die Rechnung macht. Daher probier mal Folgendes:
Code:
SELECT
        `id`,
        TO_DAYS(NOW()) - TO_DAYS(`added`) AS `age-in-days`
  FROM
        `tabelle`
  ORDER BY
        TO_DAYS(NOW()) - TO_DAYS(`added`) DESC
Bei der Limitierung muss aber noch was passieren.
 
Kein Thema, ich denke das lässt sich in Sachen "Serverlast" noch verkraften, oder etwa nicht ?

Ich habe mich auch direkt mal ran gemacht, aber ich habe schon wieder das nächste Problem. Ich wollte mit GROUP BY added ORDER BY date DESC alle Einträge mit dem Datum gruppieren, und eben die letzten 3 ausgeben. Nur leider gibt mir SQL nicht 3 verschiedene Ergebnisse aus...

PHP:
$sql_entry_day = "SELECT UNIX_TIMESTAMP(added) AS date FROM tabelle WHERE (status = 'yes') GROUP BY added ORDER BY id DESC LIMIT 3";
$get_sql_entry_day = mysql_query($sql_entry_day) OR die(mysql_error());
while($day = mysql_fetch_array($get_sql_entry_day))
{    

}

Ich erhalte das Datum von heute, und zweimal vom 17. ! Wobei an diesen Tagen auch Einträge vorliegen, mit den entsprechenden Tagen dazwischen. Jedoch gibt es auch einen Eintrag am 16. und 15.. Somit müsste ja eigentlich der 16. einbezogen werden, oder nicht ?

Danke
 
Zurück