Drupal6 Datenbankabfrage aus Modul fehlerhaft
am 28.12.2011 - 15:09 Uhr in
Hallo liebe Community,
ich bin ein bisschen verwirrt über folgende Situation:
Es gibt einen Inhaltstyp, den ich über CCK und Date mit einem Datumsfeld ausgestattet habe.
Weitergehend schreibe ich ein kleines Modul um mir einen Block zu generieren, der Inhalte dieses Inhaltstyps mit Datum der nächsten Tage des CCK Date Wertes anzeigt (anzeigen soll).
Heißt ich habe über die Hooks ein Block angelegt und soweit alles fertig eingerichtet - nur für eine Sache fehlt mir das Verständnis:
Der mySQL Code, welcher das Datumsfeld begrenzt:
...WHERE n.type = "inhaltstyp" AND
((DATE_FORMAT(ADDTIME(d.field_inhaltstyp_time_value, SEC_TO_TIME(3600)), "%Y-%m-%d") >= "2011-12-28") AND
(DATE_FORMAT(ADDTIME(d.field_inhaltstyp_time_value, SEC_TO_TIME(3600)), "%Y-%m-%d") < "2011-12-31"))...Wenn ich diesen Code direkt über phpMyAdmin auf der Datenbank ausführe, dann bekomme ich ein korrektes Ergebnis.
Wenn ich über das Views Modul an die Sache herangehe, was einen nahezu gleichen Code generiert, bekomme ich ein - korrektes Ergebnis.
Aber wenn ich diesen mySQL Code über mein Modul ausführe - bekomme ich KEIN korrektes Ergebnis. Die Datumsbegrenzung läuft nicht einwandfrei. Sogar erst wenn ich -2|+2 Jahre definiere, bekomme ich überhaupt Datenbankresultate.
Wenn ich mir den mySQL Code, über VIEWS generieren lasse, der innherhalb von VIEWS auch wunderbar funktioniert - sogar wenn ich diesen direkt auf der Datenbank ausführe, habe ich es mit dem selben interessanten Phänomen zu tun, dass innerhalb meines Modules die Datumsbegrenzungen innerhalb von mySQL nicht funktionieren.
Für Lösungsansätze und Ideen - ja die wären top!
- Anmelden oder Registrieren um Kommentare zu schreiben

Probier mal das
am 28.12.2011 - 21:49 Uhr
Probier mal das hier:
...WHERE n.type = "inhaltstyp" AND((DATE_FORMAT(ADDTIME(d.field_inhaltstyp_time_value, SEC_TO_TIME(3600)), "\%Y-\%m-\%d") >= "2011-12-28") AND
(DATE_FORMAT(ADDTIME(d.field_inhaltstyp_time_value, SEC_TO_TIME(3600)), "\%Y-\%m-\%d") < "2011-12-31"))...