Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> problem z wyszukiwaniem:(
Moniamo
post
Post #1





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 4.02.2007

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


Witam

Mam problem z wyszukiwaniem filmow z bazy...tzn potrafie zrobic wyszukiwanie po tytule filmu, natomiast nie moge sobie poradzic z wyszukiwaniem po np: gatunku filmu, aktorze, rezyserze...itp...
Moj plik w php tak wyglada:
  1. <?
  2. mysql_connect ("localhost","root","krasnal");
  3.  
  4. if($_POST['stan']=='Szukaj') {
  5.  
  6. if ($_POST['wybor']=="tytul" && !empty($znajdz))
  7. {
  8. $zapytanie = "SELECT film.id, tytul, nazwisko, nazwa_gatunku, czas, data_2, nazwa_kraju, 
    opis FROM film, produkcja, gatunek, rezyser WHERE film.id=produkcja.id AND film.i
    d=gatunek.id AND tytul like "
    %$znajdz%" GROUP BY tytul order by tytul";
  9. $wykonaj = mysql_query ($zapytanie);
  10. }
  11. elseif ($_POST['wybor']=="produkcja" && !empty($znajdz))
  12. {
  13. $zapytanie = "SELECT film.id, tytul, nazwisko, nazwa_gatunku, czas, data_2, nazwa_kraju, 
    opis FROM film, produkcja, gatunek, rezyser WHERE film.id=produkcja.id AND film.i
    d=gatunek.id AND nazwa_kraju like "
    %$znajdz%" GROUP BY tytul order by nazwa_kraju";
  14. $wykonaj = mysql_query ($zapytanie);
  15. }
  16. elseif ($_POST['wybor']=="rezyser" && !empty($znajdz))
  17. {
  18. $zapytanie = "SELECT film.id, tytul, nazwisko, nazwa_gatunku, czas, data_2, nazwa_kraju, 
    opis FROM film, produkcja, gatunek, rezyser WHERE film.id=produkcja.id AND film.i
    d=gatunek.id and nazwisko like "
    %$znajdz%" GROUP BY nazwisko";
  19. $wykonaj = mysql_query ($zapytanie);
  20. }
  21. elseif ($_POST['wybor']=="aktor" && !empty($znajdz))
  22. {
  23. $zapytanie = "SELECT film.id, tytul, nazwisko_aktora, nazwisko, nazwa_gatunku, czas, data
    _2, nazwa_kraju, opis FROM film, produkcja, gatunek, rezyser, aktor_has_film, akt
    or WHERE (film.id=produkcja.id AND film.id=gatunek.id and film.id=aktor_has_film.akto
    r_id and aktor_has_film.aktor_id=aktor.id_aktor) and nazwisko_aktora like "
    %$znajdz%" GROUP BY tytul";
  24. $wykonaj = mysql_query ($zapytanie);
  25. }
  26. elseif ($_POST['wybor']=="gatunek" && !empty($znajdz))
  27. {
  28. $zapytanie = "SELECT film.id, tytul, nazwisko, nazwa_gatunku, czas, data_2, nazwa_kraju, 
    opis FROM film, produkcja, gatunek, rezyser WHERE (film.id=produkcja.id AND film.id=gatunek.id and gatunek.id=gatunek.id) and nazwa_gatunku like "
    %$znajdz%" GROUP BY nazwa_gatunku";
  29. $wykonaj = mysql_query ($zapytanie);
  30. }
  31.  
  32.  
  33. if (@mysql_num_rows($wykonaj)==0)
  34. {
  35. echo '<h2><body bgcolor=#E9967A><font color=#660000>Przykro mi, ale nie znaleziono rekordów o zadanych kryteriach</font></b></h2>';
  36.  
  37.  
  38. echo "<STYLE TYPE="text/css">
  39. .nounderline A {text-decoration:none;}
  40. </STYLE>
  41.  
  42. <br><br>
  43. <DIV CLASS="nounderline">
  44. <center>
  45. <a href="szukaj.php" target="mainFrame"><BUTTON TYPE=SUBMIT>OK</BUTTON></a>
  46. </center>
  47. <br>";
  48.  
  49. }
  50. else
  51. {
  52.  
  53. echo "
  54. <body bgcolor="#E9967A">
  55. <table bgcolor="#E9967A" border="1" width="720" cellspacing="3" cellpadding="">
  56. <tr>
  57. <td width="720" colspan="10" bgcolor="#E9967A">
  58. <p align="center"><b><font color="660000" size="2">WYNIKI WYSZUKIWANIA</font></b></td>
  59. </tr>
  60. <tr>
  61. <td width="130" align="center" bgcolor="#A52A2A"><font color="#E9967A" size="2">Tytul</font></td>
  62. <td width="110" align="center" bgcolor="#A52A2A"><font color="#E9967A" size="2">Aktor</font></td>
  63. <td width="110" align="center" bgcolor="#A52A2A"><font color="#E9967A" size="2">Rezyser</font></td>
  64. <td width="110" align="center" bgcolor="#A52A2A"><font color="#E9967A" size="2">Gatunek</font></td>
  65. <td width="50" align="center" bgcolor="#A52A2A"><font color="#E9967A" size="2">Czas</font></td>
  66. <td width="80" align="center" bgcolor="#A52A2A"><font color="#E9967A" size="2">Rok</font></td>
  67. <td width="70" align="center" bgcolor="#A52A2A"><font color="#E9967A" size="2">Produkcja</font></td>
  68. <td width="300" align="center" bgcolor="#A52A2A"><font color="#E9967A" size="2">Opis</font></td>
  69. </tr>
  70. </b>
  71. ";
  72.  
  73. while($wiersz=mysql_fetch_array ($wykonaj)) {
  74.  
  75. echo " <tr>
  76. ";if(isset($HTTP_SESSION_VARS['prawid_uzyt']))
  77. {
  78. echo"<td width="130"><a href=komentarz.php?id=".$wiersz['id']." target=mainFrame>".$wiersz['tytul']."</a></td>";
  79. }else{
  80. echo"<td width="130">".$wiersz['tytul']."</td>";
  81. }
  82. echo"<td width="110">".$wiersz['nazwisko_aktora']."</td>
  83. <td width="110">".$wiersz['nazwisko']."</td>
  84. <td width="110">".$wiersz['nazwa_gatunku']."</td>
  85. <td width="50">".$wiersz['czas']."</td>
  86. <td width="80">".$wiersz['data_2']."</td>
  87. <td width="70">".$wiersz['nazwa_kraju']."</td>
  88. <td width="300">".$wiersz['opis']."</td>
  89. </tr>";
  90. }
  91. }
  92. }
  93. ?>


W bazie danych mam takie tabele:
aktor (id_aktor, imie, nazwisko_aktora)
aktor_has_film(AKTOR_id, FILM_id)
film(id, PRODUKCJA_id, GATUNEK_id, tytul, czas, data_2, opis, id_aktor, id_rezyser)
gatunek(id, nazwa_gatunku)
komentarz(id, UZYTKOWNIK_login, FILM_id, tresc, data)
produkcja(id, nazwa_kraju)
rezyser(id, imie, nazwisko)
rezyser_has_film(REZYSER_id, FILM_id)
uzytkownik(login, nr_pesel, imie, nazwisko, haslo, czy_admin)

Nie wiem juz sama co jest nie tak z tymi zapytaniami sql, ze wyszukuje tylko po tytule:(
Jesli to mozliwe bardzo prosze o pomoc.

Z gory wielkie dzieki
Monika.
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 15.09.2025 - 03:07