![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 8.02.2003 Skąd: katywroclawskie.com Ostrzeżenie: (0%) ![]() ![]() |
Mam takie oto pytanie - potrzebuje wyłowić z tabeli rekordy posiadające tę samą date i je policzyć np. w obrębie ostatnich 30 dni.
Zatem formuła powinna być mniej więcej taka: [php:1:9f27dd56d0] <?php for($i=30;$i>1;$i--) { $zapytanie = "select * from statystyki WHERE stat_data>'".$data."'-'".$i."'"; $wynik = mysql_query($zapytanie); if (!$wynik) { echo "AAAAAAAAAAA!!!!!!"; } $ile_znalezionych=mysql_num_rows($wynik); } ?>[/php:1:9f27dd56d0] Dlaczego zapytanie typu: [sql:1:9f27dd56d0] select * from statystyki WHERE stat_data>JakasData-30 [/sql:1:9f27dd56d0] nie działa poprawnie. Dzięki za odpowiedź. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 8.02.2003 Skąd: katywroclawskie.com Ostrzeżenie: (0%) ![]() ![]() |
Tyle że przeliczanie to zawracanie kijem wisły bo tu tak naprawde chodzi o to czy sql potrafi wygenerować datę o jeden dzień późniejszą/wcześniejszą od znanej. Np. 2003-09-11 (2003-09-10 lub 2003-09-12) na zasadzie data+1 (coś na zasadzie przeciążonych operatorw). I tu w php probelemu nie ma bo zawsze można napisać taki operator(funkcje) która wygeneruje te daty biorąc pod uwagę rok przestępny, ilość dni w miesciącu itd.
Mnie tylko zastanwia dlaczego sql nie potrafi - albo potrafi a ja tego nie umiem zrobić - tak prostej rzeczy jak where stat_data=data-1. Bo gdyby to działało to po zbiciu w pętli problem znika sam. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 4.10.2025 - 13:57 |