Wählen Sie Datensätze von heute, diese Woche, diesen Monat PHP mysql
Ich denke, das ist ziemlich einfach, aber es kann nicht herausfinden. Ich versuche, ein paar Seiten - eine, die enthält ausgewählte Ergebnisse aus meiner mysql-db die Tabelle für heute, diese Woche und diesen Monat. Die Termine werden eingetragen, wenn der Datensatz erstellt wird mit date('Y-m-d H:i:s');
. Hier ist, was ich habe, so weit:
Tag, wo Datum>(Datum-(60*60*24))
"SELECT * FROM jokes WHERE date>(date-(60*60*24)) ORDER BY score DESC"
Woche, wo Datum>(Datum-(60*60*24*7))
"SELECT * FROM jokes WHERE date>(date-(60*60*24*7)) ORDER BY score DESC"
Monat (30 Tage) where Datum>(Datum-(60*60*24*30))
"SELECT * FROM jokes WHERE date>(date-(60*60*24*30)) ORDER BY score DESC"
Irgendwelche Ideen würde sehr geschätzt. Danke!
InformationsquelleAutor der Frage Andrew Samuelsen | 2011-03-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Vorausgesetzt, Ihr Datum-Spalte ist eine tatsächliche MySQL-Datums-Spalte:
InformationsquelleAutor der Antwort Nathan Ostgard
Versuchen, mit Datums-und Zeitfunktionen (MONAT(), JAHR(), TAG(), MySQL-Handbuch)
Diese Woche:
Letzte Woche:
InformationsquelleAutor der Antwort mo.
Aktuellen Monat:
Aktuellen Woche:
Aktuellen Tag:
Wird diese Option nur den aktuellen Monat, wirklich Woche und wirklich nur heute 🙂
InformationsquelleAutor der Antwort Lukas Brzak
Nathan die Antwort geben Sie Witze aus den letzten 24, 168, und 744 Stunden, NICHT die Witze von heute, dieser Woche, diesem Monat. Wenn es das ist, was Sie wollen, Super, aber ich denke, Sie könnten auf der Suche nach etwas anderes.
Mit seinen code, am Mittag, erhalten Sie die Witze Anfang gestern Mittag und bis heute Mittag. Wenn Sie wirklich wollen, heute Witze, versuchen Sie Folgendes:
Müssten Sie etwas tun, ein wenig anders von der aktuellen Woche, Monat, etc., aber Sie bekommen die Idee.
InformationsquelleAutor der Antwort David van Geest
Jeder scheint zu beziehen sich auf das Datum eine Spalte in der Tabelle.
Ich glaube nicht, dies ist eine gute übung. Das Wort Datum könnte nur sein, ein Schlüsselwort in einigen coding Sprache (vielleicht Oracle) so ändern Sie bitte die columnname-Datum, um vielleicht JDate.
So wird der folgende besser arbeiten:
Also wir haben eine Tabelle namens Witze mit Spalten JScore und JDate.
InformationsquelleAutor der Antwort KarlosFontana
Eine bessere Lösung für das "heute" ist:
InformationsquelleAutor der Antwort JoeGalind
Nathans Antwort ist sehr nah, allerdings wird es wieder ein schwebendes Ergebnis eingestellt. Als die Zeit verschiebt, Aufzeichnungen Schwimmer aus und auf das Ergebnis gesetzt. Mit der
DATE()
Funktion aufNOW()
wird, Streifen Sie die Zeit-element aus dem Datum der Erstellung einer statischen ResultSet. Da diedate()
Funktion wird angewendet, umnow()
anstelle der tatsächlichendate
Spalte performance sollte höher sein, da die Anwendung einer Funktion wiedate()
zu einer date-Spalte hemmt die MySql-Fähigkeit, einen index verwenden.Um das Ergebnis zu halten legen Sie die statische Verwendung:
InformationsquelleAutor der Antwort Kevin Bowersox
Gut, diese Lösung wird Ihnen helfen, wählen Sie nur Aktueller Monat, aktuelle Woche und nur heute
Für die Wöchentliche Hinzugefügt posts:
Für die Monatlichen zusätzlichen Beiträge:
Für die Jährlichen zusätzlichen Beiträge:
erhalten Sie die genauesten Ergebnisse, wo nur die Spiele heute Hinzugefügt, sonst können Sie die Anzeige: "Keine Neuen Spiele Gefunden Für Heute". Mit ShowIF recordset ist leer Transaktion.
InformationsquelleAutor der Antwort Al3abMizo Games
Ich denke, mit
NOW()
Funktion ist falsch für die erste Zeit Unterschied. Denn durchNOW()
- Funktion jedes mal, wenn Sie berechnen, die in den letzten 24 Stunden.Müssen Sie
CURDATE()
statt.InformationsquelleAutor der Antwort ganji
Bekommen in der letzten Woche Daten in MySQL. Dies funktioniert für mich, sogar über das Jahr boundries.
Bekommen aktuelle Woche die Daten
InformationsquelleAutor der Antwort Sharad