praegune kellaaeg 21.06.2025 19:07:51
|
Hinnavaatlus
:: Foorum
:: Uudised
:: Ärifoorumid
:: HV F1 ennustusvõistlus
:: Pangalink
:: Telekavad
:: HV toote otsing
|
|
autor |
|
SiMka
HV kasutaja

liitunud: 01.10.2005
|
21.09.2009 21:01:11
Kuupäevade võrdlemine (php & SQL) |
|
|
Terv,
Hetkel siis sellise probleemi ees, et SQL baasi lisatakse kuupäev järgneval kujul: pp.kk.aaaa (nt 21.09.2009)
Oleks siis vaja väheke abi kuidas kontrollida kuupäevi php's, ehk siis teisisõnu: php's võtame kuupäeva date() funktsiooniga
, mis kuvab tänase kuupäeva samamoodi nagu seda on kirjas SQL tabelis.
Probleem seisneb selle, et oleks vaja mitte kuvada tänasest kuupäevast vanemaid asju, kuid lihtsa
WHERE date > '".date(d.".".m.".".Y)."' |
lausega asi ei tööta, kuna arvestab ainult (vist) esimest numbrit, ehk siis päeva.
Segane jutt, kuid kirjutame siia siis ka SQL lause, et asi natuke selgem oleks:
$date = date(d.".".m.".".Y); // Tänane kuupäev, näiteks 21.09.2009
$q = mysql_query("SELECT * FROM `list` WHERE `endDate` > '$date' AND `ID` = '$debateID'") or die(mysql_error()); // endDate on tabelis näiteks 12.10.2009 |
Antud päringuga "asja" ei kuvata, kuna esimene number on 12 ja tänane kuupäev on 21. Oleks lõpukuupäev 22 või suurem, kuvataks ka "asja", kuudest ja aastatest olenemata.
Igasugune abi oleks teretulnud, tabeli baasi ümber eriti muuta ei tahaks, kuna selleks oleks liiga palju tööd, kuid kui mingit võimalust pole, eks siis viimases hädas tuleks ka seda teha. Hetkel endal mõistus otsas ja ideid enam pole
|
|
Kommentaarid: 15 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
14 |
|
tagasi üles |
|
 |
mikk36
HV Guru

liitunud: 21.02.2004

|
21.09.2009 21:16:08
|
|
|
Kuna baasis on juba andmed kehvalt salvestatud (mitte date vormingus, vaid varchar), siis pead mysql'is samamoodi convertima nüüd selle stringi date väärtuseks ümber võrdlemiseks.
|
|
Kommentaarid: 85 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
2 :: |
78 |
|
tagasi üles |
|
 |
Absona
Lõuapoolik

liitunud: 17.09.2008
|
|
Kommentaarid: 11 loe/lisa |
Kasutajad arvavad: |
   |
:: |
2 :: |
0 :: |
8 |
|
tagasi üles |
|
 |
mikk36
HV Guru

liitunud: 21.02.2004

|
|
Kommentaarid: 85 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
2 :: |
78 |
|
tagasi üles |
|
 |
SiMka
HV kasutaja

liitunud: 01.10.2005
|
21.09.2009 21:26:15
|
|
|
Absona kirjutas: |
Ennem kui andmebaasi asjad salvestatakse tuleb alati valideerida, et tulevikus ei peaks sellist jama tegema nagu nüüd.  |
Oleks ise teinud, oleks teine asi, muudan kellegi "juba tehtud" skripti kasutuskõlblikumaks.
Tänud lingi eest, andis probleemile lahenduse.
|
|
Kommentaarid: 15 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
14 |
|
tagasi üles |
|
 |
matis
HV kasutaja

liitunud: 12.04.2004
|
25.09.2009 13:03:35
|
|
|
tsitaat: |
$date = date(d.".".m.".".Y); // Tänane kuupäev, näiteks 21.09.2009
$q = mysql_query("SELECT * FROM `list` WHERE `endDate` > '$date' AND `ID` = '$debateID'") or die(mysql_error()); // endDate on tabelis näiteks 12.10.2009
|
"select * from `list` where UNIX_TIMESAMP(str_to_date(`endDate`, '%d.%m.%Y')) > $date"
kus $date = time(); //aeg hetkel
või $date = mktime(0,0,0,09,21,1009);
_________________ https://www.e-abi.ee/ - Pangalingid, Smartposti, Post24 moodulid, Järelmaksumoodulid. Magento, Prestahop, Wordpress. Aktsepteerin Bitcoini!
Soovid lisada oma tooteid HinnaVaatlusesse? https://www.e-abi.ee/magento/kasulikud/product-exporter-and-multi-product-feed-generator-hinnavaatlus.html |
|
Kommentaarid: 64 loe/lisa |
Kasutajad arvavad: |
   |
:: |
1 :: |
1 :: |
60 |
|
tagasi üles |
|
 |
Le Inc
HV Guru

liitunud: 06.09.2002
|
26.09.2009 13:38:28
|
|
|
Mina tegin kuupäevade ja kellaja kontrolli nii et digimuundasin aja formaadi numbriks. Php on see gregorian all. Siis on juba lihtne igatsugu võrdlusi teha. Php on nii mõnusam .. küsid korra baasist väärtuse ära ja siis mürad php edasi.
|
|
Kommentaarid: 56 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
54 |
|
tagasi üles |
|
 |
|
lisa lemmikuks |
|
|
sa ei või postitada uusi teemasid siia foorumisse sa ei või vastata selle foorumi teemadele sa ei või muuta oma postitusi selles foorumis sa ei või kustutada oma postitusi selles foorumis sa ei või vastata küsitlustele selles foorumis sa ei saa lisada manuseid selles foorumis sa võid manuseid alla laadida selles foorumis
|
|
Hinnavaatlus ei vastuta foorumis tehtud postituste eest.
|