Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 23 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 08.04.08
Prihlásený: 04.08.14
Príspevky: 40
Témy: 8
Príspevok NapísalOffline : 24.11.2010 14:52

Ahojte.
Neviem si stale nejak poradit s vyberom pre "tento tyzden" a pre "nasledujuci tyzden"...

Neviete mi poradit ako nato?

datum mam ulozeny v datetime...
a ide o sltpce "den_od" a "den_do"

Dakujem


Offline

Užívateľ
Užívateľ
select tento tyzden, nasledujuci tyzden

Registrovaný: 26.12.06
Prihlásený: 16.11.19
Príspevky: 3971
Témy: 181
Bydlisko: Nitra / Bra...
Príspevok NapísalOffline : 24.11.2010 22:34

http://dev.mysql.com/doc/refman/5.1/en/ ... ction_week

http://sk2.php.net/manual/en/function.date.php (konkretne week)







_________________
Sorry za prelkepy
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 08.04.08
Prihlásený: 04.08.14
Príspevky: 40
Témy: 8
Príspevok Napísal autor témyOffline : 24.11.2010 22:57

skor som mal namysli priamo to robit v selecte... zacal som takto:

Kód:
SELECT ..., DATE_FORMAT(den_od, '%e.%m.%Y o %k:%i') AS den_od, DATE_FORMAT(den_do, '%e.%m.%Y o %k:%i') AS den_do,   ...
WHERE den_do >= NOW()
AND den_do >= DATE_FORMAT(DATE_ADD(curdate(), INTERVAL(2-DAYOFWEEK(curdate())) DAY))


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 29.10.08
Prihlásený: 30.07.12
Príspevky: 933
Témy: 2
Príspevok NapísalOffline : 25.11.2010 8:07

definuj "tento tyzden: ak urobis dotaz v utorok tak chces mat data aj za pondelok ?


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 08.04.08
Prihlásený: 04.08.14
Príspevky: 40
Témy: 8
Príspevok Napísal autor témyOffline : 25.11.2010 8:57

to co bude lahsie... ak bude utorok moze tam byt aj pondelok... ale nemusi :) radsej by tam nemal byt...


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 29.10.08
Prihlásený: 30.07.12
Príspevky: 933
Témy: 2
Príspevok NapísalOffline : 25.11.2010 10:26

takze prvu podmienku mas zle lebo mas asi preklep a spravne by si mal testovat stlpec "den_od"
Kód:
den_od >= NOW()

no druha ma zase nespravne porovnavacie znamienko lebo den_do by mal byt mensi popripade rovny zadanemu hornemu datumu
Kód:
 AND den_do < NOW()+14

samozrejme NOW()+14 iba orientacne vyjadruje horny datum
ale s jeho vypoctom ti nepomozem, mysql ani php moc neovladam


Offline

Správca fóra
Správca fóra
select tento tyzden, nasledujuci tyzden

Registrovaný: 27.07.07
Príspevky: 3948
Témy: 51
Bydlisko: Bratislava
Príspevok NapísalOffline : 25.11.2010 11:00

pre tento tyzden bude zrejme stacit podmienka (aj keby bolo lepsie nemat na lavej strane ziadnu funkciu):
Kód:
WEEK(date_od) = WEEK(CURDATE())

neviem totiz, co presne pre teba znamenaju stlpce date_od a date_do







_________________
NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 08.04.08
Prihlásený: 04.08.14
Príspevky: 40
Témy: 8
Príspevok Napísal autor témyOffline : 25.11.2010 12:04

vo vlaku to otestujem... a dam vediet...

pre mna znamena tlpec "den_od" zaciatok akcie a "den_do" koniec akcie.... chce robit filtre vypisu...


Offline

Správca fóra
Správca fóra
select tento tyzden, nasledujuci tyzden

Registrovaný: 27.07.07
Príspevky: 3948
Témy: 51
Bydlisko: Bratislava
Príspevok NapísalOffline : 25.11.2010 12:14

na zaklade ktoreho udaju sa treba rozhodnut, ci sa dany zaznam zahrnie do "tohto tyzdna"?

Mas napr. 4 zaznamy:
od: 19.11.2010, do: 23.11.2010
od: 20.11.2010, do: 29.11.2010
od: 25.11.2010, do: 26.11.2010
od: 28.11.2010, do: 30.11.2010

Ktore z nich sa maju vybrat?







_________________
NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 08.04.08
Prihlásený: 04.08.14
Príspevky: 40
Témy: 8
Príspevok Napísal autor témyOffline : 25.11.2010 12:20

najlepsie by to bolo keby iba tie ktore su dnes a tento tyzden.. cize do nedele.... 2-4 zaznam z tvojho prikladu... 4. preto lebo 28.11. je nedela....


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 29.10.08
Prihlásený: 30.07.12
Príspevky: 933
Témy: 2
Príspevok NapísalOffline : 25.11.2010 12:23

miro-boss píše:
vo vlaku to otestujem... a dam vediet...

pre mna znamena tlpec "den_od" zaciatok akcie a "den_do" koniec akcie.... chce robit filtre vypisu...


aha tak to potom opacne, priblizne nejak tako , len upravit logiku now()+14 na vypocitanie najblizsieho pondelka po now()+7
Kód:
where date_od < now()+14 and date_do > now()


Offline

Správca fóra
Správca fóra
select tento tyzden, nasledujuci tyzden

Registrovaný: 27.07.07
Príspevky: 3948
Témy: 51
Bydlisko: Bratislava
Príspevok NapísalOffline : 25.11.2010 12:30

miro-boss píše:
najlepsie by to bolo keby iba tie ktore su dnes a tento tyzden.. cize do nedele.... 2-4 zaznam z tvojho prikladu... 4. preto lebo 28.11. je nedela....

aby si ma chapal, dolezite je stanovit jednoznacne kriterium, na zaklade ktoreho sa budu dat bez problemov vyselektovat potrebne zaznamy.

Nakolko si zvolil 2-4, tak tam nevidim ziadny jednoduchy kluc, na zaklade ktoreho sa to ma vyberat, kedze nerozhoduje ani to, ze:
- musi mat zaciatok tento tyzden (zvolil si aj 2. zaznam)
- musi koncit tento tyzden (zvolil si aj 2. a 4. zaznam)
- musi zasahovat do tohto tyzdna (nezvolil si 1. zaznam)

Ake su potom tvoje kriteria?







_________________
NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 08.04.08
Prihlásený: 04.08.14
Príspevky: 40
Témy: 8
Príspevok Napísal autor témyOffline : 25.11.2010 15:30

stenley v prvom rade ti chcem podakovat, ze sa zaoberas mojim problemom a to velmi profesionalne.... vazim si to!

- podujatie musi zacinat tento tyzden
- zobrazovat iba tie co v dany den + donca tyzdna prebiehaju alebo zacinaju (ak je utorok tak vsetky co zacinaju od utorka do nedele)

myslim, ze to staci :)


Offline

Užívateľ
Užívateľ
select tento tyzden, nasledujuci tyzden

Registrovaný: 26.12.06
Prihlásený: 16.11.19
Príspevky: 3971
Témy: 181
Bydlisko: Nitra / Bra...
Príspevok NapísalOffline : 25.11.2010 15:46

myslel som ze by to slo takto

tento tyzden
Kód:
SELECT * FROM tabulka WHERE WEEK(date_od) = WEEK(CURDATE()) OR WEEK(date_do) = WEEK(CURDATE());


nasledujuci tyzden
Kód:
SELECT * FROM tabulka WHERE WEEK(date_od) = WEEK(CURDATE())+1 OR WEEK(date_do) = WEEK(CURDATE())+1;


ak tam mas vela zaznamov, a slo by to pomaly, mozno by som volil taky psosob, ze budes ukladat aj tyzden kedy sa udalost odohrava. a bdues uz jednoducho porovnavat s aktualnym.. WEEK(CURDATE()) alebo php func. date('W')







_________________
Sorry za prelkepy
Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 29.10.08
Prihlásený: 30.07.12
Príspevky: 933
Témy: 2
Príspevok NapísalOffline : 25.11.2010 20:44

chalani, neviem neviem, week() vrati poradove cislo tyzdna v ramci jedneho roka, cize
Kód:
SELECT * FROM tabulka WHERE WEEK(date_od) = WEEK(CURDATE())
moze vratit aj zaznamy aj z predchadzajucich rokov, takze ak ma v tabulke alebo aspon bude mat data za viac rokov tak ten select bude vracat aj nespravne udaje .


Offline

Užívateľ
Užívateľ
select tento tyzden, nasledujuci tyzden

Registrovaný: 26.12.06
Prihlásený: 16.11.19
Príspevky: 3971
Témy: 181
Bydlisko: Nitra / Bra...
Príspevok NapísalOffline : 25.11.2010 20:46

ok, tak

Kód:
SELECT * FROM tabulka WHERE WEEK(date_od) = WEEK(CURDATE()) AND YEAR(date_od) = YEAR(CURDATE())







_________________
Sorry za prelkepy
Offline

Správca fóra
Správca fóra
select tento tyzden, nasledujuci tyzden

Registrovaný: 27.07.07
Príspevky: 3948
Témy: 51
Bydlisko: Bratislava
Príspevok NapísalOffline : 25.11.2010 21:48

coldak píše:
chalani, neviem neviem, week() vrati poradove cislo tyzdna v ramci jedneho roka, cize
Kód:
SELECT * FROM tabulka WHERE WEEK(date_od) = WEEK(CURDATE())
moze vratit aj zaznamy aj z predchadzajucich rokov, takze ak ma v tabulke alebo aspon bude mat data za viac rokov tak ten select bude vracat aj nespravne udaje .

no jasne, na to som uplne zabudol, v tom pripade staci namiesto WEEK pouzit YEARWEEK aj s nastavenim druheho parametra
miro-boss píše:
- podujatie musi zacinat tento tyzden
- zobrazovat iba tie co v dany den + donca tyzdna prebiehaju alebo zacinaju (ak je utorok tak vsetky co zacinaju od utorka do nedele)

+ dalsia podmienka kontrolujuca datum zaciatku, aby sa zobrazovali len tie zaznamy, ktore sa maju zacat tento tyzden a sucasne ich zaciatok nie je skorsieho datumu ako aktualny den

Cize by to mohlo vypadat takto:
Kód:
SELECT * FROM tabulka WHERE date_od >= CURDATE() AND YEARWEEK(date_od, 1) = YEARWEEK(CURDATE(), 1)

alebo este ina verzia:
Kód:
SELECT * FROM tabulka WHERE date_od >= (CURDATE() - INTERVAL WEEKDAY(CURDATE()) DAY) AND date_od < (CURDATE() + INTERVAL (7 - WEEKDAY(CURDATE())) DAY)







_________________
NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 08.04.08
Prihlásený: 04.08.14
Príspevky: 40
Témy: 8
Príspevok Napísal autor témyOffline : 26.11.2010 10:02

emer dakujem.. funguje to :)
coldak nestaci to poriesit este jednou podmienkou? napr
SELECT * FROM tabulka WHERE (WEEK(date_od) = WEEK(CURDATE()) OR WEEK(date_do) = WEEK(CURDATE()) AND den_od LIKE 'aktualny_rok-%%-%% %%:%%:%%' AND den_do LIKE 'aktualny_rok-%%-%% %%:%%:%%'); ???


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 29.10.08
Prihlásený: 30.07.12
Príspevky: 933
Témy: 2
Príspevok NapísalOffline : 26.11.2010 10:34

miro-boss píše:
emer dakujem.. funguje to :)
coldak nestaci to poriesit este jednou podmienkou? napr
SELECT * FROM tabulka WHERE (WEEK(date_od) = WEEK(CURDATE()) OR WEEK(date_do) = WEEK(CURDATE()) AND den_od LIKE 'aktualny_rok-%%-%% %%:%%:%%' AND den_do LIKE 'aktualny_rok-%%-%% %%:%%:%%'); ???


uz s principu zbytocne pouzivanie funkcie nad stlpcom tabulky je nevhodne. nie som si isty ale myslim ze mysql nepodporuje function based indexy takze ak mas index nad stlpcom date_do a ty v podmienke pouzijes WEEK(date_do) tak stratis moznost rychleho indexovaneho vyhladavania. tvrdis ze tvoja tabulka je dost velka takze index je tam asi dost potrebny. dobre riesenie je to od stanleyho ta druha verzia. aj ked neviem ci pre tvoju potrebu su spravne zadefinovane rozsahy, ale princip je spravny.


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 08.04.08
Prihlásený: 04.08.14
Príspevky: 40
Témy: 8
Príspevok Napísal autor témyOffline : 26.11.2010 12:40

dakujem chalani.. tak teda asi pouzijem
Kód:
SELECT * FROM tabulka WHERE date_od >= (CURDATE() - INTERVAL WEEKDAY(CURDATE()) DAY) AND date_od < (CURDATE() + INTERVAL (7 - WEEKDAY(CURDATE())) DAY)


tvari sa to, ze to funguje ako ma... tak som spokojny...

Dakujem pekne este raz :)


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 08.04.08
Prihlásený: 04.08.14
Príspevky: 40
Témy: 8
Príspevok Napísal autor témyOffline : 01.01.2011 23:07

narazil som na jeden problem...
pouzivam toto:
Kód:
SELECT * FROM tabulka WHERE date_od >= (CURDATE() - INTERVAL WEEKDAY(CURDATE()) DAY) AND date_od < (CURDATE() + INTERVAL (7 - WEEKDAY(CURDATE())) DAY)


je to sice dobre.. ale narazil som na jeden detail...

potreboval by som ked je nejake podujatie od napr 01.10.2011 do 21.10.11 a je 8.10.2011...
a ja si vyberiem, ze mi to ma vypisat podujatia, ktore su tento tyzden.. tak sa uz toto do podmienky nezmesti lebo datum skoncenia je 21.10.2011 a to ziadno nespravim ked ono berie, ze koncit musi do menej ako dnesny + pocet dni do konca tyzdna...

neviete mi s tymto pomoct? neviem, ze ci som to spravne vysvetlil...


Offline

Užívateľ
Užívateľ
select tento tyzden, nasledujuci tyzden

Registrovaný: 16.05.07
Prihlásený: 01.08.17
Príspevky: 837
Témy: 6
Príspevok NapísalOffline : 03.01.2011 13:09

podujatie ktore trva 21 dni?
zaujimalo by ma jak chces kontolovat ze nejake trva viac nez jeden den ked tam mas len entitu date_od a date_do si nejak vypustil


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 08.04.08
Prihlásený: 04.08.14
Príspevky: 40
Témy: 8
Príspevok Napísal autor témyOffline : 03.01.2011 13:17

tak su take.. naprikad vystavy... ale vcera som to riesil vecer.... a vyriesil som.. dufam, ze spravne :) zatial to podla dat v db funguje spravne...


Odpovedať na tému [ Príspevkov: 23 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. Nový Firefox 2.0.0.5 má prísť ešte tento týždeň

v Novinky

2

420

17.07.2007 18:18

Rbot Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Chrome OS už o týždeň?

v Novinky

19

1281

26.11.2009 18:22

Draex Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. 2 pokazené monitory za týždeň

v Monitory, televízory a projektory

2

273

27.09.2014 14:23

kemperik Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Briti pošlú za týždeň miliardu SMS

v Novinky

1

318

07.11.2007 17:00

Jopi Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Chello oznámi vyššie rýchlosti budúci týždeň

v Novinky

10

467

04.06.2007 18:39

OmeGa Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Apple budúci týždeň údajne predstaví Mac OS X 10.6

v Novinky

1

779

05.06.2008 19:35

yazoo Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. GTA IV sa predalo za prvý týždeň 6 miliónov kópií

v Novinky

8

654

07.05.2008 23:59

MTK Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. ako na tento select?

v Databázy

9

1067

07.02.2007 8:33

rokovic Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. formular: presun <option> zo <select> do <select>

v JavaScript, VBScript, Ajax

2

754

28.09.2009 15:27

tomast7 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Select

v HTML, XHTML, XML, CSS

3

410

13.09.2012 21:49

1daemon1 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. select

v Databázy

8

505

16.03.2012 14:09

zdeniatqo Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. SELECT

v Databázy

6

1403

31.08.2006 13:50

tRizzO Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. select

v PHP, ASP

7

640

02.05.2008 13:53

mondzo Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. select nefunkcny

v Databázy

5

563

07.06.2010 14:08

MisakNo10 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. php select

v PHP, ASP

9

620

14.10.2008 9:24

B.A.X.O Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. MySQL Select

v Databázy

2

403

07.04.2014 6:52

XOLOO Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  
cron

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra