Temos pavadinimas: WordPress, Shopify ir PHPFusion programuotojų bendruomenė :: Date
Parašė cropp· 2013 Vas. 13 12:02:38
#1
Sveiki, norėčiau pasidomėti dėl vieno dalyko.
Man reikia padaryti tarkim taip.
Įvedu į
mysql lentelę tokią info:
Id: 1
Event_name: Bet kas
Date: 2013.02.13
Id: 2
Event_name: Bet kas
Date: 2013.02.16
Id: 3
Event_name: Bet kas
Date: 2013.02.20
Ir kaip man dabar padaryti, kad atvaizduotų įvykius pagal datą. Tarkime Artimiausią įvykį, šiandieninį?
Parašė lailaila· 2013 Vas. 13 12:02:18
#2
galbut ORDER BY data
tikriausiai taip
Parašė cropp· 2013 Vas. 13 12:02:13
#3
Neištraukia taip paprastai, artimiausio įrašyto įvykio ir šiandieninio.
Redagavo cropp· 2013 Vas. 13 12:02:37
Parašė PreFix· 2013 Vas. 13 15:02:45
#4
Persidaryk
mysql table į unix laiką, tada vartaliok kaip nori ir laiką pagal naujausius gali išsitraukt lengvai.
http://php.net/manual/en/functio...totime.php
Redagavo PreFix· 2013 Vas. 13 15:02:37
Parašė Pakartoti slaptažodį· 2013 Vas. 13 17:02:00
#5
Panašiai kaip PreFix sakė, date laukelį padaryk paprastą, INT(11). Ir įrašinėk į jį time(), tada rūšiavimas veiks puikiai. O kur norėsi atvaizduot, tiesiog panaudok
date('y/m/d H:i', $time); :)
Redagavo Pakartoti slaptažodį· 2013 Vas. 13 17:02:13
Parašė cropp· 2013 Vas. 14 15:02:33
#6
Na gerai aš dabar įrašinėsiu dabartinį laiką į laukelį time.
Bet jeigu rungtynių data yra:
2013-02-15 dieną ir įvesta daugiau įvykių su skirtingomis datomis 2013-02-17, 2013-02-20.
Šiandieną yra 14 diena.
Ir man reikia padaryti užklausą , kad rodytų artimiausias rungtynės. O artimiausios rungtynės yra 2013-02-15.
O tavo pasiūlymas man grupuos seniausius naujausius įvykius tiesiog pridėtus pagal laiką į duomenų bazę.
Redagavo cropp· 2013 Vas. 14 17:02:52
Parašė Pakartoti slaptažodį· 2013 Vas. 14 16:02:08
#7
Ne, SQL užklausoje į laiko laukelį įrašinėk dabartinį laiką sekundėmis (
time()):
INSERT INTO `items` SET name='pavadinimas', time='".time()."'
Tas kodas tik laiko išvedimui, išves gražią datą, su mėnesiais, valandomis, minutėmis. O rūšiuok su"
SELECT * FROM `items` ORDER BY `time` DESC LIMIT 10
Redagavo Pakartoti slaptažodį· 2013 Vas. 14 16:02:40
Parašė cropp· 2013 Vas. 14 16:02:53
#8
Na gerai aš dabar įrašinėsiu dabartinį laiką į laukelį time.
Bet jeigu rungtynių data yra:
2013-02-15 dieną ir įvesta daugiau įvykių su skirtingomis datomis 2013-02-17, 2013-02-20.
Šiandieną yra 14 diena.
Ir man reikia padaryti užklausą , kad rodytų artimiausias rungtynės. O artimiausios rungtynės yra 2013-02-15.
O tavo pasiūlymas man grupuos seniausius naujausius įvykius tiesiog pridėtus pagal laiką į duomenų bazę.
Parašė cropp· 2013 Vas. 14 17:02:39
#9
Na gerai aš dabar įrašinėsiu dabartinį laiką į laukelį time.
Bet jeigu rungtynių data yra:
2013-02-15 dieną ir įvesta daugiau įvykių su skirtingomis datomis 2013-02-17, 2013-02-20.
Šiandieną yra 14 diena.
Ir man reikia padaryti užklausą , kad rodytų artimiausias rungtynės. O artimiausios rungtynės yra 2013-02-15.
O tavo pasiūlymas man grupuos seniausius naujausius įvykius tiesiog pridėtus pagal laiką į duomenų bazę.
Parašė cropp· 2013 Vas. 14 22:02:34
#10
Tai niekas neturi ką pasiūlyti?
Parašė Pakartoti slaptažodį· 2013 Vas. 14 22:02:18
#11
A, matai kaip čia... Tada reiktų kažkokio kalendoriaus skripto.
Parašė cropp· 2013 Vas. 15 17:02:51
#12
Nu va išbraidžiau puse googl'es :]
Radau kelias užklausas kurios gali ištraukti savaitės info tin nežinau ar jos veikia, nes nelabai jas perprantu.
SELECT * FROM myTable WHERE DATE(timeStamp) >= DATE('now', 'weekday 0', '-7 days');
select * from my_table where date_col between next_day(:my_date, 'Monday') - 7 and next_day(:my_date, 'Monday')
select * from my_table
where date_col between to_date(:my_date,'dd/mm/yyy') + 7
and to_date(:my_date,'dd/mm/yyy')
SELECT * FROM myTable WHERE DATE(timeStamp) >= DATE('now', 'weekday 0', '-7 days');
Šita lyg aiškiausia tik gal kas galite paaiškinti kur ką keisti, kokius laukelius į savo.?
Redagavo cropp· 2013 Vas. 15 17:02:07
Parašė Pakartoti slaptažodį· 2013 Vas. 15 17:02:14
#13
myTable keisk į savo lenetlę, kurioje visi event'ai saugomi.
timeStamp į datos laukelį.