Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Tabela pod tabelą
Forum PHP.pl > Forum > Przedszkole
-kmpl-
Witam,

Poniżej zamieszczam kod, który wyświetla mi dane z bazy sprzętu kwaterunkowego w formie tabeli.
Mam dane pogrupowane pomieszczeniami. Chciałbym zaprezentować dane w wielu tabelach jedna pod drugą (jedno pomieszczenie to jedna tabela).
Np. Pomieszczenie nr 10 i poniżej tabela ze sprzętem w pomieszczeniu nr 10, poniżej pomieszczenie nr 11 i tabela ze sprzętem w pomieszczeniu nr 11 itd.

Proszę o pomoc jak to rozwiązać

Pozdrawiam


  1.  
  2. function wyswietl_wak(){
  3.  
  4. polacz();
  5. $wak=mysql_query("SELECT * FROM lok_sprzetu, sprzet, pomieszczenia where sprzet.id_sprzetu=lok_sprzetu.id_sprzet and pomieszczenia.id_pomieszczenia=lok_sprzetu.id_pom order by id_pomieszczenia");
  6.  
  7. <table>';
  8. echo '<th>pomieszczenie</th>';
  9. echo '<th>nazwa sprzętu</th>';
  10. echo '<th>indeks</th>';
  11. echo '<th>ilość</th>';
  12. echo '<th>szczegóły</th>';
  13.  
  14.  
  15. $i=0;
  16. while($dane_wak=mysql_fetch_array($wak)){
  17. $i++;
  18.  
  19. if($i % 2)
  20. {echo '<tr bgcolor="#EFEFEF" onMouseover="this.bgColor=\'#B0F084\'" onMouseout="this.bgColor=\'#EFEFEF\'">';} else
  21. {echo '<tr bgcolor="#F8F8F8" onMouseover="this.bgColor=\'#B0F084\'" onMouseout="this.bgColor=\'#F8F8F8\'">';}
  22.  
  23. <form action="edytuj_wak.php" method="POST">
  24. <td>' .$dane_wak['nr_pomieszczenia'].' </td><td>'.$dane_wak['nazwa'].' </td><td>'.$dane_wak['indeks'].' </td><td>'.$dane_wak['ilosc'].' </td>
  25.  
  26. <td><a href="dane_wak.php?id_pomieszczenia='.$dane_wak[0].'"><center><img class="no-border" src="css/stan_wn/b_edit.png" alt="Edytuj"/></center></a></td>
  27. </form>
  28.  
  29. ';
  30.  
  31. }
  32.  
  33. echo'</table>';
  34.  
  35.  
Ulysess
hmm na początek sprawdzasz ile masz pomieszczeń (albo na sztywno ustawiasz)

i robisz 2 pętle

for ($a =0;$a <= $ilosc_pomieszczen;++$a)
{
// tutaj dajesz zapytanie a w warunku nazwe / nr pomieszczenia

następnie dajesz druga pętle w której tworzysz caly kod html odpowiadający za tabele i po prostu wstawiasz tam dane

}
Valdi_B
Może jeszcze jedno usprawnienie:
Listy / liczby pomieszczeń nie trzeba ustalać "na sztywno".

Zanim zaczniesz czytać "właściwe" dane, odczytaj wykaz pomieszczeń:
  1. SELECT DISTINCT nr_pok FROM ...
  2. ORDER BY nr_pok
Dane czytasz z tej samej tabeli - wykazu sprzętu, bo słowo DISTINCT zapewnia brak powtórzeń.
Wynik tej kwerendy przenieś do tablicy w pamięci.

Dopiero potem, dla każdego numeru pokoju (z tej tablicy):
- wyciągnij dane kwerendą z warunkiem WHERE na numer pokoju,
- wygeneruj tabelkę - wykaz sprzętu (w danym pokoju).

Inny wariant:
Może być tylko jedna kwerenda, ale z sortem na numer pokoju.
(Jako dalsze klucze sortowania może być coś jeszcze).

W pętli przetwarzającej te dane musisz:
- wyłapać zmianę numeru pokoju,
- zakończyć poprzednią tabelę i rozpocząć nową.

Wybór należy do Ciebie.
kmpl
To moje początki w php, ale spróbuję sobie jakoś poradzić.
Wielkie dzięki za wskazówki.
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.