| Mysql - izpis novejših vnosov (razvršanje) | ||
|---|---|---|
|
G-force
21. jan 2014 16:54:43
Pridružen od: 31. mar 2008 828 objav 516 60 3 |
#1
Malo me heca ena zadeva pri mysql. Iz mysql bi rad izpisal vse vnose, ki imajo novejše datume od izbranega. Čas za primerjavo je dobljen preko PHP, časovni vnosi so pa v posamezni vrstici s tipom DATETIME tako da kar se mysql tiče je vse ok. Primer Primerjal bi na primer spodnji čas. s časom, ki je zapisan v mysql v vrstici threadpostedon, pa recimo, da imam eno vrstico z novejšim časom, torej na primer (threadpostedon) '2014-01-20 16:18:08'. Torej vnos se je zgodil slabo minuto po primerjalnem času torej je novejši in bi ga rad izpisal. Mysql... $q = "SELECT COUNT(threadid) FROM forumthreads WHERE threadpostedon > $cas"; echo $nove_vnosi;Zdaj, če bi bilo vse ok, bi mi moral izpisati $novivnosi = 1, ker je pač samo en pravi vnos. Vendar mi mysql enostavno sešteje čisto vse vnose, ki so v tabeli forumthreads. Kaj počnem narobe? A je fora, da bi moral mysql reči, da je "threadpostedon" v 24 urnem načinu & prav tako času pri php? Kako to naredim? |
|
|
G-force
21. jan 2014 17:50:10
Pridružen od: 31. mar 2008 828 objav 516 60 3 |
#2
Sm rešu tkole samo to ni to... daljša koda, pa pomoje še bolj potratna, kar se serverja tiče... $cas = strtotime('20.01.2014 16:17:24 '); $q = "SELECT threadlastthreadpostedon FROM forumthreads;"; $i = 0; $nove_teme = $i; Ve kdo kaj je pri vrhnji kodi narobe? |
|
|
s1l3
21. jan 2014 18:05:06
Pridružen od: 6. jun 2012 345 objav 320 60 1 |
#3
Kaj pa tole :
|
|
|
G-force
21. jan 2014 18:19:32
Pridružen od: 31. mar 2008 828 objav 516 60 3 |
#4
Ne dela, niti ne moreš primerjat stringa s časom, že mysql javi napako "mysqlifetcharray() expects parameter 1 to be mysqli_result, boolean given " Če pa spremenim v time, je pa isto... sešteje kar vse vrstice. |
|
|
s1l3
21. jan 2014 18:45:18
Pridružen od: 6. jun 2012 345 objav 320 60 1 |
#5
Če sem te prav razumel imaš datetime polje v mysql bazi. Meni zgornji query dela, prejle sem ga pognal v phpmyadminu. Primerjal datetime polje z datumom. |
|
|
tsu
21. jan 2014 20:35:48
Pridružen od: 16. jun 2008 351 objav 482 34 14 |
#6
Tale napaka, ki si jo opisal, ni napaka pri izvajanju querya, ampak napaka pri pridobivanju rezultatov. |
|
|
s1l3
21. jan 2014 21:08:21
Pridružen od: 6. jun 2012 345 objav 320 60 1 |
||
|
pavarti
22. jan 2014 07:41:40
Pridružen od: 26. okt 2011 445 objav 587 92 14 |
#8
Najprej si izpiši napako, ki ti jo javi MySQL mysqli::$error. Ti bo povedala dosti več o tem, kaj točno je narobe pri tvoji SQL poizvedbi. |
|
|
G-force
22. jan 2014 11:47:28
Pridružen od: 31. mar 2008 828 objav 516 60 3 |
#9
Hvala, verjetno sem se zatipkal in se sploh nisem poglobil v napako, ker se mi je mudilo. Bom preveril, čeprav bom zaradi določenih razlogov verjetno uporabil kar tisto rešitev, ki sem jo sam v drugem postu zapisal. |
|