Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Za bardzo skomplikowane jak dla mnie zapyt
djluzak
post
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...
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
djluzak
post
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
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 5.10.2025 - 03:21