between datjetzt und datDB

Brauni

Erfahrenes Mitglied
servus

habe folgendes problem:
Ich möchte gerne mit php eine abfrage erstellen wo ich mit 2 Daten arbeite.
anweisung ist:
select * from tbl_dat where datum between '$datjetzt' and '$datdb'

nur leider funktioniert die abfrage nicht so wie ich es will. Einige Datensätze werden nicht angezeigt.
Ich habe schon hier im Forum öfters gelesen das es mit Datum + PHP Probleme gibt aber so eine Problem habe ich hier nicht gefunden.

mfg
brauni
 
Dazu wäre es praktisch zu wissen, in welchem Format das Datum in der Datenbank steht und in welchem Format es in den Variablen steht, sonst sind dämtliche Äußerungen nicht mehr als Mutmaßungen. :)
 
in der db steht z.b.
01.10.2003
und es wird das aktuell datum hergezogen 02.04.2004
genau so stehts auch in den variablen
 
Gehe ich richtig in der Annahme, dass das Datumsfeld als VARCHAR vorliegt?
Das ist eigentlich eine sehr schlechte Wahl, um damit richtig rechnen oder was vergleichen zu können.
Besser wäre es, wenn 'datum' vom Typ INTEGER wäre und du dort den UNIX-Timestamp speicherst oder eben vom Typ DATE.
Damit lässt sich das Problem dann ganz einfach lösen.
 
vorher war der type integer und jetzt habe ich ihn auf datetime geändert.
Problem ist nur das jetzt auch die Uhrzeit dabei ist.
Es gibt doch einen Befehl wo man nur die ersten 10 stellen der variable verwenden kann. Nur leider habe ich den vergessen. Weis ihn einer von euch?

Sollte das dann funzen wenn ich nur die ersten 10 stellen nehme?
 
Ich habe das doch bereits geschrieben: Nimm anstatt DATETIME lieber DATE, wenn du nur das Datum und nicht die Uhrzeit haben willst.

Der Befehl, den du suchst, heißt substr(). Allerdings wird dir das bei deinem Problem eher nicht helfen. Du solltest dein Datenbankfeld entsprechend ändern (TIMESTAMP oder DATE).
 
Zurück