Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: problem z SELECT, ARRAY i warukniem :(
Forum PHP.pl > Forum > Bazy danych > MySQL
miki
Hej, parę dni temu pisałam na temat mojego problemu z zapytaniem SELECT. Zgodnie ze wskazówkami w pomocy próbowałam ułożyć warunki aby moje zapytanie poprawnie działało, ale wszystko na nic. Nie mam pojęcia jak powinnam to sformułować i dlatego ponownie proszę o pomoc.

Jakby ktoś wiedział będę wdzięczna ponieważ ślęczę nad tym dniami i nocami sad.gif

Poniżej znajdują sie dwie tabele:



Chcę uzyskać taki wynik: na stronie w tabeli powinny znajdować sie w pierwszej kolumnie nazwy zabytków, a w kolejnych kolumnach (o nazwach miast: Opole, Warszawa, Szczecin, Zakopane) powinno znajdować się słowo TAK lub NIE; w zależności od tego czy dany zabytek jest w danym miescie (widać w tabeli Zabytki). Niestety nie udaje mi się tego dokonać i problem spędza mi sen z powiek.

Uzyskuję wynik jak widać:



kod php wygląda tak:

  1. <?php
  2.  
  3. $verbindung=mysql_connect(&#092;"localhost\", \"login\", password\");
  4. if (!$verbindung)
  5. echo &#092;"Nie mo&iquest;na po&sup3;&sup1;czy&aelig; si&ecirc; z baz&sup1; danych.\";
  6.  
  7.  
  8. $flag = mysql_select_db(&#092;"zabytki\");
  9. if (!$flag)
  10. echo &#092;"nie wybralem przychodni\";
  11.  
  12. $pytanie = mysql_query(&#092;"SELECT id_zabytku, id_miasta from zabytki order by id_zabytku asc\");
  13.  
  14.  
  15.  
  16.  $zapytanie = mysql_query(&#092;"SELECT distinct nazwa, id_zabytku FROM zabytek\"); 
  17.  $l_zabytkow = mysql_num_rows($zapytanie);
  18.  echo $l_zabytkow;
  19.  
  20.  
  21.  $zapytanie1 = mysql_query(&#092;"SELECT nazwa FROM miasta\");
  22.  $l_bd = mysql_num_rows($zapytanie1);
  23.  echo $l_miast;
  24.  
  25.  echo &#092;"<BR>\";
  26.  
  27.  
  28. while($row = mysql_fetch_array($zapytanie, MYSQL_NUM))
  29. {
  30. $nazwa_zabytku[] = $row[0];
  31. $id_zabytku[] = $row[1];
  32. }
  33.  
  34. while($row2 = mysql_fetch_array($pytanie, MYSQL_NUM))
  35. {
  36. $id_zabytku1[] = $row[0];
  37. $id_miasta[] = $row[1];
  38. }
  39.  
  40.  
  41. while($row1 = mysql_fetch_array($zapytanie1, MYSQL_NUM))
  42. {
  43.  
  44. $nazwa_miasta[] = $row1[0];
  45.  
  46. }
  47.  
  48.  
  49. <table border=\"1\">
  50.  
  51. <tr>
  52.  
  53. <td width=\"100\">nazwa zabytku</td>';
  54.  
  55. for( $n=0; $n<=$l_bd; $n++ )
  56. {
  57. print '<td width=\"100\">'.$nazwa_miasta[$n].'</td>';
  58. }
  59.  
  60. print'</tr>';
  61.  
  62.  
  63.  
  64. for( $i=1; $i<$l_zabytkow; $i++ )
  65. {
  66. print'<tr>';
  67. print '<td width=\"100\">'.$nazwa_zabytku[$i].'</td>';
  68. print '<td width=\"100\">'.$id_zabytku[$i].'</td>';
  69.  
  70.  
  71. for( $j=1; $j<=$l_bd; $j++ )
  72. {
  73. if($id_funkcji[$i]=$id_funkcjii[$j])
  74. {
  75. if($id_bazy[$j] == &#092;"1\")
  76. {
  77. print '<td> TAK </td>';
  78. }
  79. else
  80. {
  81. print '<td> NIE </td>';
  82. }
  83.  
  84. }
  85. }
  86.  
  87. print'</tr>';
  88. }
  89. print'</table>';
  90.  
  91.  
  92. ?>


Dziękuję z góry sadsmiley02.gif
SongoQ
Pogrupuj bo nazwie zabytku i nazwie miasta dostaniesz wtedy wystapienia, i tam gdzie zwrocil rekokord to z miastem i z zabytkiem to wpisujsz tak, jesli nie ma to wpisujesz nie.

Jesli nie poradzisz sobie to Ci SELECTA napisze.
miki
Hej SongoQ, dziękuję bardzo za odpowiedź. Ja chyba nie umiem sobie poradzić sad.gif Ciągle coś próbuję, ale nie wychodzi. Jak możesz, to napisz o czym mówiłeś.


Dzięki!
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.