![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 61 Pomógł: 0 Dołączył: 12.03.2004 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Wyzwanie dla ambitych:
Tabela: [list]id osob data 1 20 10.06 11.06 12.06 13.06 2 15 09.06 10.06 11.06 12.06 3 30 08.06 09.06 10.06 11.06 12.06 13.06 14.06 4 50 12.06 13.06 14.06 15.06 16.06 17.06 [list] A więc tak zakladamy ze sa 3 komorki tabeli: id, osob i data. Pole "osob" to sa liczby osob bedach w danych dniach. W pozycji 1 jest 20 osob ktore sa (np zapisane na jakis kurs) w nastepujacych dniach: 10.06, 11.06, 12.06 i 13.06 Chcialbym wykonac nastepujace zapytanie: - wybrac z tabeli takie wiersze ktore spelniaja taka zaleznosc: W dniu 11.06 suma osob wynosi 20+15+30=65 Chhce wybrac tylko te dni ( z pola "data" -varchar) w ktorych liczba osob przekracza zakladajmy 50. Daty sa oddzielone spacja. Nie mam pojecia jak sie do tego zabrac. Mysle nad jakas petla, ale od tego myslenia umysl mi sie przegrzewa. A tabel i ich postaci zmienic nie moge:( Wynik zwracalby ta date, w ktorej przekroczona jest ilosc osob. Moze ma ktos jakas propozycje...dziekuje za pomoc... |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 61 Pomógł: 0 Dołączył: 12.03.2004 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Cytat Jeżeli chcesz dwucyfrowe, to sprawdzaj długość zmiennej i ew. dodawaj zero. No i możesz oczywiście zamienć kolejność pętli po $dzien i $mies, nawet lepiej zamień, będzie bardziej czytelnie
[php:1:a1174d1550]<?php $rok = 2004; //do sprawdzania poprawności daty $i=1; for ($mies = 1; $mies <=12; $mies++) { for ($dzien = 1; $dzien<=31; $dzien++) { if( checkdate($mies, $dzien, $rok)) //sprawdzenie, czy data ma sens { $dzien = sprintf("%02d",$dzien); $mies = sprintf("%02d",$mies); $terminy[$i] = $dzien.'.'.$mies; $i++; } } } //i sprawdzenie czy dziala foreach ($terminy as $k=>$v) { echo $k.'=>'.$v.'<br>'; } ?>[/php:1:a1174d1550] Jeśli zrobie to w ten sposób to będzie poprawnie wyświetlać wszystkie dni roku. Wcześniej mnie nie bylo wiec nie mialem jak sie tym zajc. Musze jeszcze pomyslec jak przerobic to teraz na zapytania MySQL |
|
|
![]() ![]() |
![]() |
Aktualny czas: 5.10.2025 - 03:21 |