Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] Zapętlone petle, Trzecia petla nie dzila tak jak sobie tego zycze
zicher
post 5.09.2006, 15:58:00
Post #1





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 28.09.2005

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


Witam ponownie

Mam kolejny problem z petlami while, ktorego kompletnie nie rozumiem. Chodzi o to, ze mam w bazie danych trzy tabele darkzlehkosmos, darkzlehkosmostypy, darkzlehkosmosjednostki. Sa polaczone ze soba relacyjnie (wiele-do-wielu).

A zatem tabela darkzlehkosmos i darkzlehkosmostypy polaczone sa tabela darkzlehkosmos_darkzlehkosmostypy (darkzlehkosmos_id i darkzlehkosmostypy_id).
Tabele darkzlehkosmostypy i darkzlehkosmosjednostki rowniez polaczone sa ze soba tabela laczaca o nazwie darkzlehkosmostypy_darkzlehkosmosjednostki (darkzlehkosmos_id, darkzlehkosmostypy_id, darkzlehkosmosjednostki_id)

Co chce osiagnac. Otoz chce wygenerowac liste darkzlehkosmos. Pod kazdym punktem tej listy chce wygenerowac odpowiednia liste przyporzadkowanych darkzlehkosmostypy, by nastepnie wygenerowac pod kazdym elementem darkzlehkosmostypy odpowiadajace im listy darkzlehkosmosjednostki.

Na tej oto zasadzie:
1. darkzlehkosmos
A). darkzlehkosmostypy
I). darkzlehkosmosjednostki
II). darkzlehkosmosjednostki
cool.gif. darkzlehkosmostypy
2. darkzlehkosmos
A). darkzlehkosmostypy

...etc.

Musialem cos nie zalapac z petli. Udaje mi sie zrobic dobrze tylko jedna petle. Druga nie dziala.

Dam przyklad. Lista darkzlehkosmos sie generuje. Pod kazdym elementem listy generuje sie odpowiednia lista darkzlehkosmostypy. Teraz pod kazdym elementem darkzlehkosmostypy powinna sie generowac odpowiednia lista darkzlehkosmosjednostki. Problem w tym, ze w moim skrypcie tak sie nie dzieje.

Oto moj skrypt:
  1. <?php
  2. $q4 = "SELECT * FROM darkzlehkosmos ORDER BY e_order";
  3. $d4 = mysql_query($q4) or die(mysql_error());
  4.  while($r4 = mysql_fetch_array($d4))
  5.  {
  6. echo '<font class="nbb" size="10">'.$r4['darkzlehkosmosnazwa'].'</font><br>'; 
  7.  
  8. $q3 = "SELECT * FROM darkzlehkosmos, darkzlehkosmostypy, darkzlehkosmos_darkzlehko
    smostypy WHERE darkzlehkosmos.darkzlehkosmos_id=darkzlehkosmos_darkzlehkosmostypy
    .darkzlehkosmos_id AND darkzlehkosmostypy.darkzlehkosmostypy_id=darkzlehkosmos_da
    rkzlehkosmostypy.darkzlehkosmostypy_id AND darkzlehkosmos.darkzlehkosmos_id='"
    .$r4[0]."'";
  9. $d3 = mysql_query($q3) or die(mysql_error());
  10.  while($r3 = mysql_fetch_array($d3))
  11.  {
  12.  echo '<font class="greenb" size="5"> '.$r3['darkzlehkosmostypynazwa'].'</font><br>';
  13.  
  14. $q2 = "SELECT * FROM darkzlehkosmos, darkzlehkosmostypy, darkzlehkosmos_darkzlehko
    smostypy, darkzlehkosmosjednostki, darkzlehkosmosjednostki_darkzlehkosmostypy WHE
    RE darkzlehkosmos.darkzlehkosmos_id=darkzlehkosmos_darkzlehkosmostypy.darkzlehkos
    mos_id AND darkzlehkosmostypy.darkzlehkosmostypy_id=darkzlehkosmos_darkzlehkosmos
    typy.darkzlehkosmostypy_id AND 
  15. darkzlehkosmos.darkzlehkosmos_id=darkzlehkosmosjednostki_darkzlehkosmostypy.dark
    zlehkosmos_id AND
  16. darkzlehkosmostypy.darkzlehkosmostypy_id=darkzlehkosmosjednostki_darkzlehkosmost
    ypy.darkzlehkosmostypy_id AND
  17. darkzlehkosmosjednostki.darkzlehkosmosjednostki_id=darkzlehkosmosjednostki_darkz
    lehkosmostypy.darkzlehkosmosjednostki_id AND
  18. darkzlehkosmos.darkzlehkosmos_id='".$r4[0]."' AND 
  19. darkzlehkosmostypy.darkzlehkosmostypy_id='".$r3[0]."'
  20. ";
  21.  
  22. $d2 = mysql_query($q2) or die(mysql_error());
  23. while($r2 = mysql_fetch_array($d2))
  24.  {
  25.  echo '<font class="pal" size="5"> <img src="'.$r2['grafikam'].'" border="0"> '.$r2['darkzlehkosmosjednostkinazwa'].'</font><br>';
  26.  
  27. }
  28.  }
  29.  }
  30. ?>



Wiem, ze problem tkwi w zapytaniu q2. Wiem tez ze bledna jest ta czesc:

  1. <?php
  2. darkzlehkosmostypy.darkzlehkosmostypy_id='".$r3[0]."
  3. ?>



Kiedy jej nie ma darkzlehkosmosjednostki generuja sie odpowiednio pod darkzlehkosmos, ale juz nie dziela sie na typy.

Bardzo prosze o pomoc. Najbardziej zalezy mi na informacji jak zmusic darkzlehkosmosjednostki by sie grupowaly odpowiednio w darkzlehkosmostypy (w bazie danych sa polaczone relacyjnie tj. tabela darkzlehkosmostypy_darkzlehkosmosjednostki zawieraja klucze obce darkzlehkosmos_id, darkzlehkosmostypy_id i darkzlehkosmosjednostki_id)

Ewentualnie jezeli to nie sprawi probemu prosze o wyjasnienie dlaczego petle nie trzymaja porzadku

Z gory dziekuje
z powazaniem
zicher

Ten post edytował zicher 5.09.2006, 15:58:30
Go to the top of the page
+Quote Post

Posty w temacie


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 Wersja Lo-Fi Aktualny czas: 19.07.2025 - 06:40