Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Dwa zapytania SQL w jednej pętli
Forum PHP.pl > Forum > Przedszkole
sorex
Witam.
Mój kod wyświetla mi tabele na podstawie zapytania SQL. Chciałbym żeby w tej samej tabeli pojawiła mi się wartość z innego zapytania SQL.
  1. <?php
  2.  
  3. mysql_connect("admin", "admin", "admin") or die(mysql_error());
  4. $data = mysql_query("SELECT * FROM terminy")
  5.  
  6. while($info = mysql_fetch_array( $data ))
  7. {
  8. ?>
  9. <table border=5 cellpadding=4 width=850>
  10. <tr>
  11. <th>Termin:</th> <td align=center width=250><?php echo $info['nazwa_terminu']; ?></td>
  12. <td align=center width=50><?php echo $info['rok']; ?></td>
  13. Wynik z drugiego zapytania
  14. <th width=300>Iloć wolnych miejsc na stronie:</th> <td align=center width=20><?php echo $info['wolne_miejsca']; ?></td>
  15. <th width=100>Zmień na:</th> <td><form action=wolne1.php method=GET><input type=text name=update size=5></td>
  16.  
  17. <td align=center width=15><input type=hidden name=id value="<?php echo $info['id']; ?>" size=3>
  18.  
  19. <input type=submit value=Zmień></form></td>
  20. </tr>
  21. </table>
  22.  
  23. <?php
  24. }
  25.  
  26.  
  27. ?>


Chciałbym dołożyć takie zapytanie:
  1. SELECT SUM(suma),termin FROM rezerwacje GROUP BY termin ORDER BY termin
i chciałbym żeby wyświetliło się w miejscu zaznaczonym na czerwono.

Jak zmodyfikować kod?
iwosz
Ok, zanim Ci powiem jak to zrobić, mam pytanko. Na pewno chcesz to tak zrobić? Po co w pętli ma być wyświetlane ciągle ten sam wynik zapytania, bo to drugie zapytanie zawsze zwróci ten sam wynik, wiesz o tym prawda? Czy aby nie chcesz w drugim zapytaniu użyć jakiejś wartości z pierwszego(np. $info['id'] które, zakładam identyfikuje termin)? Zakładam że chcesz pobrać rezerwacje dla DANEGO terminu(twoje drugie zapytanie wyciągnie wszystkie rezerwacje jakie są w tabeli i pogrupuje terminami ale wszystkimi).
sorex
Masz rację. Chcę zrobić tak, żeby wyświetlić wszystkie dostępne terminy (są w jednej tabeli) i obok wyświetlić zsumowane rezerwacje dla danego terminu (z drugiej tabeli).
iwosz
Ok, to opisz jeszcze jak wyglądają tabele terminy i rezerwacje, jakie maja pola jakie typy danych itd. Co ma zwrócić SUM(suma) ?
sorex
Tabela terminy:
  1. Id | Nazwa_terminu | Rok |
  2. --------------------------
  3. 1 | 1-10 Kwiecień | 2012
  4. 2 | 11-20 Kwiecień| 2012



Tabela rezerwacje:

  1. id | Termin | Osoby | Suma |
  2. ----------------------------------------
  3. 1 |1-10 Kwiecień | Osoba | 3
  4. 2 |1-10 Kwiecień | Osoba 2 | 7



Chciałbym żeby wyświetliło mi wszystkie terminy z tabeli Terminy i obok każdego terminu pokazała mi się ilość osób, które mają rezerwację. np. dla terminu 1-10 Kwiecień Ilość osób to 10
nospor
No to wobisz wszystko w jednym zapytaniu. Drugą tabelę do pierwszej łączysz przy pomocy LEFT JOIN. W manualu mysql masz info o tym
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.