Pereiti prie turinio

PHP puslapiavimas pagal data


Rekomenduojami pranešimai

Sveiki, turiu tokia problema. Pirma, turiu mysq lentele su eilutemis kuriose yra data. Antra, noriu padaryt puslapiavima kad vieno menesio dienos butu viename puslapyje o sekancio menesio kitame.

Kaip tai reiketu realizuoti ? Susiskaiciuot kiek irasu yra tam tikro menesio ir tada naudoti SELECT .. LIMIT .. ? ismanantys konkreciau gal galit papasakot ?

Dekingas

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Kiek greičiau? 0.02 sec?

 

Greitis ne čia ;) O parašyme :) O ir šiaip - funkcijos, kurios yra sukurtos iškart, kaip timestamp, veikia greičiau nei tarkime visos datos laikymas duomenų bazėje.

 

Tavo atvėju galimi du variantai:

Į db saugai datą string formatu ( 2013 - 01 - 29 ) ir tiesiog visus įrašus pasirenki, kur data yra lygi tokiai.

 

Arba:

Į db datą saugai timestamp reikšme, o laiką išgauni sužinojęs dienos pradžios timestamp ir dienos pabaigos - tai vadinasi intervalu :)

 

Tavo atvėju - viskas priklauso nuo sistemos - jei yra visur data string - tai geriau ją ir naudoti, bet jei norėsi pakeisti formatą datos - teks keisti visur :)

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Kiek greičiau? 0.02 sec?

Ne tame esmė, esmė, kad su kišeniniu peiliuku medžio nekerti. Jei yra funkcijos tvarkytis su datomis, jei turi datą, o ne stringą, tai ir darai taip. Gali būti ir daug daug greičiau, aišku, jei turėsi daug duomenų.

 

O ką su UNIX_TIMESTAMP() tavo nuomone prižaisi, jei reikia konkretaus mėnesio ir dienos, nežinau išvis. Ar kaip tada panaudosi LIKE '123%' :lol:

 

Beje, 0.02 sec = 20 ms, o tai jau yra DAUG.

 

Kiek supratau pas autorių ir yra datetime – tik mysql labai lengvai viskas automatiškai castinasi į kitus tipus ir gali su data elgtis kaip su stringu.

Redagavo Silke
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Kiek supratau pas autorių ir yra datetime – tik mysql labai lengvai viskas automatiškai castinasi į kitus tipus ir gali su data elgtis kaip su stringu.

 

Taip, bet kaip minėjau galima abu variantai, tik antruoju - daugiau žaistis, bet jei reikia multi formato datos - galbūt ir geriau..

 

 

Tiesa, tu esi teisus ;) Kiek žinau net ir 0.0001 yra kam ji svarbi ( turėtų būti aktualu visiems )

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Taip, bet kaip minėjau galima abu variantai, tik antruoju - daugiau žaistis, bet jei reikia multi formato datos - galbūt ir geriau..

O kas yra multi formatas? :)

 

Šiaip jau storinti reiktų UTC laiką. Ir arba unix timestamp arba, jeigu filtruoti pagal datas reikia, tai gal ir datetime. O atvaizdavimas tinkama laiko juosta, tinkamu daylight saving – jau ir yra atvaizdavimo layerio problema. Ir gan sudėtinga. :)

Redagavo Silke
Nuoroda į pranešimą
Dalintis kituose puslapiuose

 

Na turėjau galvoje - jei puslapyje galima keisti formatą - timestamp pravers labiau nei string'as kaip 2013-01-29, nes jį reiktų paversti į timestamp ir vėl į string. Ar ne taip? :)

Galbūt tiesa. Nežinau, į kokį PHP objektą imant iš mysql konvertuoja koks nors PDO – galbūt ir grąžina stringo reprezentaciją, o ne DateTime...

Redagavo Silke
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

×
×
  • Pasirinkite naujai kuriamo turinio tipą...