Autor | Zpráva | ||
---|---|---|---|
petrovpetrovič Profil * |
#1 · Zasláno: 4. 2. 2012, 10:38:06 · Upravil/a: Moderátor (editace znemožněna) 13. 2. 2012, 08:51:42
Krásné sobotní ráno, padá sníh!
Potřeboval bych poradit s následujícím kódem. Funguje bezvadně do doby kdy se objeví v některý den v tomto týdnu záznam o hodnotě XXXX-XX-XX 00:00:00. V takovém případě do součtu v tento týden řádek nezapočítá, ba co víc, pokud se záznam stane záznamem minulého týdne, tak se tam opět objeví. Jak je to možné? // zobrazení posledního měsíce po týdnech $counting_week_one = 0; $counting_week_two = 1; $counting_week_name = 0; $counting_weekday = $current_weekday; while ($counting_week_one > -4){ $vysledek_ukol_tyden = mysql_query(" SELECT ukol_datum, ukol_stav FROM ukol WHERE ukol_stav='hotovo' AND ukol_datum BETWEEN DATE_ADD(date_sub(current_date(), INTERVAL WEEKDAY(curdate()) DAY), INTERVAL '".$counting_week_one."' WEEK) AND DATE_ADD(date_sub(current_date(), INTERVAL WEEKDAY(curdate()) DAY), INTERVAL '".$counting_week_two."' WEEK) "); $vysledek_ukol_tyden_pocet = mysql_num_rows($vysledek_ukol_tyden); echo "<tr><td>".date("W", time()+$counting_week_name)."</td>"; echo "<td>".$vysledek_ukol_tyden_pocet."</td>"; $counting_week_one = $counting_week_one -1; $counting_week_two = $counting_week_two -1; $counting_week_name = $counting_week_name -604800; |
||
Keeehi Profil |
#2 · Zasláno: 4. 2. 2012, 12:53:19
between bere i kraje daného intervalu, takže musíte ve výsledném dotazu míz něco jako od pondělí 00:00:00 do neděle 23:59:59. Pokud tam máte od pondělí 00:00:00 do dalšího pondělí 00:00:00, stačí od toho dalšího pondělí odečíst jednu sekundu.
|
||
Časová prodleva: 8 dní
|
|||
petrovpetrovič Profil * |
#3 · Zasláno: 12. 2. 2012, 13:27:47
Jak?
|
||
Kajman Profil |
#4 · Zasláno: 13. 2. 2012, 08:51:45
Opět date_sub a tam interval 1 seconds, ale stačí nepoužít between ale ukol_datum>= ... and ukol_datum<...
|
||
Časová prodleva: 11 let
|
0