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į.