2016-04-24 11 views
0

Hallo, so habe ich eine PHP-Seite, die Informationen und die Zeit gibt, dass die Informationen in eingegeben wurden.Filtering Datenbankabfrage Verwenden von Time

Was ich will, dass die Zeit so zum Beispiel zu tun ist, zu filtern, um nur Einträge zwischen jetzt und sechs Vor Monaten erscheinen, und ich möchte auch eine andere Option haben, die zwischen jetzt und vor zwölf Monaten tut.

Die Informationen würden mit json gedruckt werden, damit Ajax die Daten leicht verwenden kann. Ich poste eine Variable mit dem Wert 6 oder 12, die die gewünschte Länge bestimmt, aber ich scheine keine SQL-Anweisungen zu finden, die funktionieren würden.

Ich habe versucht, mit der WEEKOFYEAR() SQL-Funktion ohne Erfolg es warf nur Fehler.

$sql = "SELECT data, data2 FROM userdetails where userid = '$Id'"; 
$result = $conn->query($sql); 

Das Feld, das als Datum gesetzt wird dateSet genannt und ich denke, ob eine in der SQL zwischen Funktion zu verwenden. Die Information wird in ein Array eingegeben, so dass dies innerhalb der SQL-Anweisung vorteilhaft wäre.

+0

Ist das 'mysqli' oder PDO? In diesem Fall müssen Sie ** vorbereitete Anweisungen ** verwenden und vermeiden, dass Werte wie "$ Id" direkt in Ihre Abfrage eingefügt werden. – tadman

+0

"Zwischen jetzt und vor sechs Monaten" ähm, das wäre "zwischen vor sechs Monaten und jetzt" – Strawberry

Antwort

0

Versuchen Filterung zwischen Daten

SELECT data, data2 
FROM `userdetails 
WHERE (date_field BETWEEN '2010-01-30 14:15:55' AND '2010-09-29 10:15:55') 

wie hier gezeigt How do I query between two dates using MySQL?

+0

Ich brauche noch die Benutzer-ID, um dort zu sein, so dass es nicht alle Tabellen nur diejenigen, die sich auf diesen Benutzer beziehen. Könnte ich es am Ende hinzufügen? – User5916261

+0

.. UND WHERE UID = ID – hounded