MYSQL es PHP datum tipus problema
van egy gondom.
adott egy adatbazis mysql-ben:
id, datum, helyseg, tortenes(szoveg)
a datum mezo DATE tipus, kiiratasnal yyyy-mm-dd formaban jelenik meg
egy PHP-ban megirt weblapon bekerek ket datum-ot:
ev - ho - nap ; ev - ho - nap, mind kulon tarolom (6 valtozo)
ki szeretnem iratni azokat az adatokat(sorokat) mely a datum mezo-beli ertek a ket megadott datum koze esik.
probalkoztam a mktime() fugvenyel, letrehoztam a
$kdatum=mktime(0,0,0,$kho,$knap,$kev) es a $Vdatum=mktime(0,0,0,$vho,$vnap,$vev) valtozokat.
az SQL keres pedig:
SELECT * FROM adatok WHERE ('$kdatum'<='datum') AND ('datum'<='$Vdatum')
hibat nem ir ki, hanem kiirja az osszes adatot az adatbazisbol.
kiprobaltam:
SELECT * FROM adatok WHERE ('2006.05.23'<='datum') AND ('datum'<='2006.08.15')
es hiba nelkul kiirja a kert adatokat.
Mit kene valtoztassak, hogy a $kdatum es a $Vdatum valtozokat hasznalva is kiirja a kert adatokat???
Hol hibaztam?
elore is koszi.
rodman
■ adott egy adatbazis mysql-ben:
id, datum, helyseg, tortenes(szoveg)
a datum mezo DATE tipus, kiiratasnal yyyy-mm-dd formaban jelenik meg
egy PHP-ban megirt weblapon bekerek ket datum-ot:
ev - ho - nap ; ev - ho - nap, mind kulon tarolom (6 valtozo)
ki szeretnem iratni azokat az adatokat(sorokat) mely a datum mezo-beli ertek a ket megadott datum koze esik.
probalkoztam a mktime() fugvenyel, letrehoztam a
$kdatum=mktime(0,0,0,$kho,$knap,$kev) es a $Vdatum=mktime(0,0,0,$vho,$vnap,$vev) valtozokat.
az SQL keres pedig:
SELECT * FROM adatok WHERE ('$kdatum'<='datum') AND ('datum'<='$Vdatum')
hibat nem ir ki, hanem kiirja az osszes adatot az adatbazisbol.
kiprobaltam:
SELECT * FROM adatok WHERE ('2006.05.23'<='datum') AND ('datum'<='2006.08.15')
es hiba nelkul kiirja a kert adatokat.
Mit kene valtoztassak, hogy a $kdatum es a $Vdatum valtozokat hasznalva is kiirja a kert adatokat???
Hol hibaztam?
elore is koszi.
rodman
Doksi
Ugyanis az mktime nem formázott napokat ad vissza. Mint az le is volt írva.
De ha eleve nem bonyolítottad volna túl a problémát, akkor ezt csináltad volna:
$Vdatum=mysql_real_escape_string($vev . "." . $vho . "." . $vnap);
Ennél egyszerűbb megoldást keresve se találsz.
koszi
neztem a doksiban is, probalkoztam, de hibat jelzet,
persze rajottem hogy En hibaztam:
data("Y-m-d", mktime(...); hasznaltam
megegyszer kosz
Nem unix timestamp kell neked!
A manuálban) azt írják, hogy az mktime függvény egy unix timestamp-et(azaz egy szép nagy egész számot) ad vissza. Neked viszont a dátumra van szükséged.
Ajánlom használd a meglevő értékeket a lekérdezés összeállításához:
remek, koszi
kb 2 hete hogy hozzafogtam a PHP es MYSQL -hez,
s egybol a kozepebe, en ugy erzem hogy sokat haladtam kezdo letemre
megegyszer koszi a tippeket