![]() |
![]() |
![]()
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: 245 Pomógł: 0 Dołączył: 9.09.2002 Ostrzeżenie: (0%) ![]() ![]() |
Cytat No ten skrypcik dziala ladnie. teraz musze go troszku przerobic. Czyli mam utworzyc tablice z datami. A jesli te daty sa z calego roku to troszku duza ta tablica bedzie.... (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) zapytania sobie skonstruuje...jak czegos nie bede wiedzial to sie zapytam..dzieki wielkie...
piece of cake, jak mawiają jankesi. Kod tworzący 366 elementową tablicę dat: [php:1:fea60e882e]<?php $rok = 2004; //do sprawdzania poprawności daty $i=1; for ($dzien = 1; $dzien <=31; $dzien++) { for ($mies = 1; $mies<=12; $mies++)) { if( checkdate( $mies, $dzien, $rok) //sprawdzenie, czy data ma sens { $terminy[$i] = $dzien.'.'.$mies; $i++; } } } //i sprawdzenie czy dziala foreach ($terminy as $k=>$v) { echo $k.'=>'.$v.'<br>'; } ?>[/php:1:fea60e882e] 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 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 9.10.2025 - 12:09 |