![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 243 Pomógł: 1 Dołączył: 1.06.2010 Ostrzeżenie: (0%) ![]() ![]() |
Potrzebuję zrobić zapytanie , które zwróci mi daty z pomiarami z każdego dnia w danym zakresie wybranych dat . Problem w tym , że urządzenie pomiarowe czasem może nawalić i wtedy w bazie nie ma pomiaru w ciągu jakiegoś dnia.
np: Robie takie zapytanie. Kod $_query_data= mysql_query("Select * from baza Where id=2 and date >='2011-01-01' and date <= '2011-02-06' order by date"); Wszystko jest ok . Ale gdy np. między 3 a 5 dniem zespół się system pomiarowy, to chcę mieć wyniki również z 4 dnia z pustymi danymi. Da rady stworzyć takie zapytanie ? |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%) ![]() ![]() |
A z poziomu PHP nie możesz przechwycić tych luk?
Jeśli już koniecznie w ramach zapytania to zostaje JOIN z jakąś tabelą pomocniczą z datami. -------------------- |
|
|
![]() ![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 243 Pomógł: 1 Dołączył: 1.06.2010 Ostrzeżenie: (0%) ![]() ![]() |
Ah napisałem sobie w PHP : Myślałem, że można dać może takie zapytanie bardziej skomplikowane. Nie znam jeszcze tak super mysql. Więc nie wiem czy da rady zbudować takie zapytanie. No ale tu mam rozwiązanie w PHP.
Kod $czas_od = "2011-01-1"; $czas_do = "2011-02-6"; $czas_od = strtotime($czas_od); $czas_do = strtotime($czas_do); while($czas_od <=$czas_do ){ $czas_wyn = strftime('%Y-%m-%d',$czas_od); $daty_query = mysql_query("Select * from dane Where site_id = 2 and key_id = 2 and date = '".$czas_wyn."' "); $gdy = 0; while($daty_tab = mysql_fetch_assoc($daty_query)) { $tab_czasu[] =strftime('%Y-%m-%d',$czas_od); // =$daty_tab['date']; $gdy++; } //druga while koniec if($gdy == 0 ){ $tab_czasu[] =strftime('%Y-%m-%d',$czas_od); } $czas_od = $czas_od+86400; } echo "<pre>"; print_r($tab_czasu); echo "</pre>"; Oczywiście teraz muszę tylko dopisać dane gdzie mają wpadać , gdy nie mam pomiaru. ![]() Bałem się, że będę musiał obliczać lata przestępne itd. uf Ten post edytował fiasko 7.02.2011, 00:34:33 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 15.06.2025 - 02:36 |