Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Tabela pod tabelą
--kmpl--
post
Post #1





Goście







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.  
Go to the top of the page
+Quote Post
Ulysess
post
Post #2





Grupa: Zarejestrowani
Postów: 695
Pomógł: 65
Dołączył: 27.07.2009
Skąd: Y

Ostrzeżenie: (0%)
-----


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

}
Go to the top of the page
+Quote Post
Valdi_B
post
Post #3





Grupa: Zarejestrowani
Postów: 107
Pomógł: 30
Dołączył: 19.02.2011
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
kmpl
post
Post #4





Grupa: Zarejestrowani
Postów: 92
Pomógł: 0
Dołączył: 4.06.2006

Ostrzeżenie: (0%)
-----


To moje początki w php, ale spróbuję sobie jakoś poradzić.
Wielkie dzięki za wskazówki.
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 22.08.2025 - 11:10