Forum » Programiranje » [MySql]Poizvedba za datetime
[MySql]Poizvedba za datetime
jeryslo ::
Pozdravljeni!
V tabeli imam polje Date definirano kot tip datetime, torej takole izgledajo vnosi:
Zdaj ko uporabnik izbere določen datum, npr. 2010/7/7, bi rad da se mi izpišejo vse možne ure za tisti dan. To mi je uspelo narediti s tem stavkom:
Toda zanima me, če obstaja kakšen bolj eleganten način, brez da je potrebno specificirati še zraven datum 2010/7/8?
V tabeli imam polje Date definirano kot tip datetime, torej takole izgledajo vnosi:
Zdaj ko uporabnik izbere določen datum, npr. 2010/7/7, bi rad da se mi izpišejo vse možne ure za tisti dan. To mi je uspelo narediti s tem stavkom:
SELECT TIME(Date) FROM ws3600 WHERE DATE >= '2010/7/7' AND DATE <= '2010/7/8'
Toda zanima me, če obstaja kakšen bolj eleganten način, brez da je potrebno specificirati še zraven datum 2010/7/8?
dolenc ::
S čim je pa vmesnik narejen?
Oziroma kako uporabnik izbere datum?
Šlo bi verjetno samo z SELECT TIME(Date) FROM ws3600 WHERE DATE(Date) = '2010/7/7'
Oziroma kako uporabnik izbere datum?
Šlo bi verjetno samo z SELECT TIME(Date) FROM ws3600 WHERE DATE(Date) = '2010/7/7'
jeryslo ::
Uporabnik izbere datum preko javascript kolendarja, toda to ni važno. Sem pa to kar si ti napisal prvo probal, pa vrne samo 00:00:00 kar je logično saj če ne dodaš ure, torej če daš samo datum zgleda privzame vrednost za uro na 00:00:00.
dolenc ::
Pri meni dela, je ba db2 in ne mysql, zakaj pri tebi ne mi pa ni jasno
Probaj ime stolpca preimenovat v datum, ker mogoče ga pa ta date heca(ugibam).
Ne vem kako je to z javascriptom, ampak kot where pogoj lahko izbereš tudi vrednost, ki jo vnese uporabnik. WHERE DATE(datum) = imeSpremenljivke(ali polja)
Samo se ti malo zakomplicira, ker moreš potem še datum iz javascripta pretvorit v format mySqla, če je drugačen.
Probaj ime stolpca preimenovat v datum, ker mogoče ga pa ta date heca(ugibam).
Ne vem kako je to z javascriptom, ampak kot where pogoj lahko izbereš tudi vrednost, ki jo vnese uporabnik. WHERE DATE(datum) = imeSpremenljivke(ali polja)
Samo se ti malo zakomplicira, ker moreš potem še datum iz javascripta pretvorit v format mySqla, če je drugačen.
Zgodovina sprememb…
- spremenil: dolenc ()
jeryslo ::
Sem potem kar takole naredil, edino malo robustno je napisano, ker pač moram imeti še eno spremenljivko za dodatni pogoj:
<?php $username="uporabnik"; $password=""; $database="test"; $date = $_GET["d"]; $timestamp = strtotime($date); $naslednjiDan = $timestamp + (1 * 24 * 60 * 60);// 1 dan; 24 ur; 60 minut; 60sekund $date2 = date('Y/n/j', $naslednjiDan); $link = mysql_connect('localhost', $username, $password); if (!$link) { die('Could not connect: ' . mysql_error()); } mysql_select_db("test", $link); $query="SELECT TIME(Date) FROM ws3600 WHERE DATE >= '" .$date. "' AND DATE < '" .$date2. "'"; $result=mysql_query($query); if (!$result) { die('Could not query:' . mysql_error()); } while ($row = mysql_fetch_array($result, MYSQL_NUM)) { echo "<option>" .$row[0]."</option>"; } mysql_free_result($result); mysql_close($link); ?>
Zgodovina sprememb…
- spremenil: jeryslo ()
krho ::
Bolj zabavno je to, da mu je pustil narediti stolpec kjer je uporabil keyword kot ime. Še bolj zabavno je, da si parser ne polomi zob brez kvotanja.
Kaj je to '2010/7/8' za en blesav format zapisa datuma? iso zapis iso... tako pri poizvedbi kot pri vpisu v bazo... Ker jaz pri zgornjem zapisu, ne vem ali gre za 8 julij ali 7 avgust...
Kaj je to '2010/7/8' za en blesav format zapisa datuma? iso zapis iso... tako pri poizvedbi kot pri vpisu v bazo... Ker jaz pri zgornjem zapisu, ne vem ali gre za 8 julij ali 7 avgust...
si.Mail odprto-kodni odjemalec elektronske pošte. - http://www.simail.si
Uredite si svojo zbirko filmov, serij in iger - http://xcollect.sf.net
Uredite si svojo zbirko filmov, serij in iger - http://xcollect.sf.net
Zgodovina sprememb…
- spremenil: krho ()
jeryslo ::
Kaj je to '2010/7/8' za en blesav format zapisa datuma? iso zapis iso... tako pri poizvedbi kot pri vpisu v bazo... Ker jaz pri zgornjem zapisu, ne vem ali gre za 8 julij ali 7 avgust...
Hmmm to sem tudi sam še malo razmišljal, bom verjetno spremenil da bo bolj uporabniku prijazno.
Bolj zabavno je to, da mu je pustil narediti stolpec kjer je uporabil keyword kot ime. Še bolj zabavno je, da si parser ne polomi zob brez kvotanja.
Kaj si mislil s tem, ne razumem najbolje?
Gost ::
Eno offtopic vprašanje:
V mysql-u si upaš imeti case sensitive ime stolpca? Če boš imel kdaj filesystem, ki loči med uppercase in lowercase, bo težava:
DATE != Date != date
Popravek: typos
V mysql-u si upaš imeti case sensitive ime stolpca? Če boš imel kdaj filesystem, ki loči med uppercase in lowercase, bo težava:
WHERE DATE >= '" .$date. "' AND DATE < '" .$date2. "'";
DATE != Date != date
Popravek: typos
Zgodovina sprememb…
- spremenil: Gost ()
Gost ::
Jst še zmer mislem da če boš preimenoval kolono v datum, bi select moral delat
Glede na dokumentacijo to ni res:
http://dev.mysql.com/doc/refman/5.1/en/...
DATE je beseda, ki je sicer rezervirana, ampak je ni potrebno citirati, ker je bila preveč v uporabi v preteklosti.
Zgodovina sprememb…
- spremenil: Gost ()
krho ::
Kaj je to '2010/7/8' za en blesav format zapisa datuma? iso zapis iso... tako pri poizvedbi kot pri vpisu v bazo... Ker jaz pri zgornjem zapisu, ne vem ali gre za 8 julij ali 7 avgust...
Hmmm to sem tudi sam še malo razmišljal, bom verjetno spremenil da bo bolj uporabniku prijazno.
Vidim, da nisi dojel, kaj sem hotel povedat... iso zapis datuma je YYYY-MM-DD in kot takšnega MORAŠ podati, ko iščeš po bazi, ali vpisuješ vanjo.
si.Mail odprto-kodni odjemalec elektronske pošte. - http://www.simail.si
Uredite si svojo zbirko filmov, serij in iger - http://xcollect.sf.net
Uredite si svojo zbirko filmov, serij in iger - http://xcollect.sf.net
jeryslo ::
krho ::
Date je v večini baz rezervirana beseda, saj ponavadi obstaja funkcija s tem imenom.
si.Mail odprto-kodni odjemalec elektronske pošte. - http://www.simail.si
Uredite si svojo zbirko filmov, serij in iger - http://xcollect.sf.net
Uredite si svojo zbirko filmov, serij in iger - http://xcollect.sf.net
jeryslo ::
Aha, ok tole je pa dobro vedit. Kako pa se potem običajno označuje stolpec z datumi, še posebej če bi rad imel angleško besedo?
AndrejS ::
date je rezervirana beseda.... če imaš ime stolpca pač napišeš `date`.
V mysql-u si upaš imeti case sensitive ime stolpca? Če boš imel kdaj filesystem, ki loči med uppercase in lowercase, bo težava:
Tu file sistem res nima veze !
V mysql-u si upaš imeti case sensitive ime stolpca? Če boš imel kdaj filesystem, ki loči med uppercase in lowercase, bo težava:
Tu file sistem res nima veze !
Gost ::
AndrejS, imaš prav glede velikosti črk. Za imena tabel velja ta problematika in ne za stolpce:
http://cosminswiki.com/index.php/MySQL_...
http://cosminswiki.com/index.php/MySQL_...
krho ::
last_vist_date, deleted_date, blabla_date
si.Mail odprto-kodni odjemalec elektronske pošte. - http://www.simail.si
Uredite si svojo zbirko filmov, serij in iger - http://xcollect.sf.net
Uredite si svojo zbirko filmov, serij in iger - http://xcollect.sf.net
keworkian ::
Kaj pa ce bi zajebal celoten sistem in uporabil UNIX_TIMESTAMP() in se ti ne bo treba drkat z nobenim gnilim datumom? Ker pol je se ena fuŁ neat funkcija, ki se klice FROM_UNIXTIME(), zakaj bi se matral z formatom datuma ce lahko to naredis bolj simpelj.
Obscenities in B-Flat
krho ::
ker se mi ne da vedno kverija pisat s fromunixtime.. pa ker je unixtime omejen na 2038
si.Mail odprto-kodni odjemalec elektronske pošte. - http://www.simail.si
Uredite si svojo zbirko filmov, serij in iger - http://xcollect.sf.net
Uredite si svojo zbirko filmov, serij in iger - http://xcollect.sf.net
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | [python] project euler problemOddelek: Programiranje | 1283 (835) | Spura |
» | PHP problemOddelek: Šola | 1080 (648) | technolog |
» | Beleženje udeležbe v prometu (strani: 1 2 )Oddelek: Loža | 10903 (8034) | SeMiNeSanja |
» | c# problem z lokalno spremenljivkoOddelek: Programiranje | 765 (641) | KernelPanic |
» | SQL CNVERT; konvertanje datumaOddelek: Programiranje | 1463 (1269) | frudi |