Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: wyszukiwarka z 2 tabel
Forum PHP.pl > Forum > Bazy danych > MySQL
powker1
Nie bardzo wiem jak zrobic wyszukiwarke do 2 tabel do jednej cos dałem rade jednak do 2 nie moge. Teraz kod wygląda tak i nie działa.

  1. <? 
  2.  
  3.  
  4. $lacz=mysql_connect (&#092;"localhost\",\"root\",\"root\")
  5. or die (&#092;"nie lacze\");
  6. $tabela1=&#092;"alkohole\";
  7. $tabela2=&#092;"drinki\";
  8. $baza=&#092;"alkoholzone\";
  9.  
  10. $bazy=mysql_select_db ($baza,$lacz)
  11. or die (&#092;"nie widze bazy\");
  12.  
  13.  
  14. $sql=&#092;"select * from $tabela1,$tabela2 where gatunek like \"%$znajdz%\" or nazwa like \"%$znajdz%\" or producent like \"%$znajdz%\" 
  15. or pojemnosc like &#092;"%$znajdz%\" or opis like \"%$znajdz%\" or strona like \"%$znajdz%\" podstawowy like \"%$znajdz%\" or skladnki like \"%$znajdz%\" 
  16. or punkty like &#092;"%$znajdz%\" or ile like \"%$znajdz%\" \";
  17.  
  18. $rezultat=mysql_query ($sql,$lacz)
  19. or die (&#092;"nie wykonalem\");
  20.  
  21. while ($row = mysql_fetch_array($rezultat)) {
  22.  
  23. $gatunek=$row['gatunek'];
  24.  
  25. print strtr('<table> <tr> <td> <img src=\"obrazki/'.$row['rysunek'].'\" align=\"left\" border=\"0\" alt=\"\" /> </td> <td> <text4> <b>'.$row['nazwa'].'</b> <br> </text4> <text5> pojemnosc : '.$row['pojemnosc'].'
  26. <br> <br> '.$row['opis'].' <br> <br>
  27. Producent : '.$row['producent'].' <br> </text5> <A HREF=\"http://'.$row['strona'].'\"> <hyper> '.$row['strona'].' </hyper> </A> </td> </tr> </table> <br><br> ', &#092;"xA5x8Cx8FxB9x9Cx9F\", \"xA1xA6xACxB1xB6xBC\");
  28.  
  29.  
  30. }
  31.  
  32. ?>



mam dwie tabele

alkochole = id, gatunek, nazwa, producent, pojemnosc, opis, rysunek, strona

drinki = id, nazwa, podstawowy, skladniki, opis, punkty, ile, rysunek



No i stanołem w martwym punkcie ni nie wiem co dalej..
nospor
a czy te tabele są ze soba czymś powiązane? Jak nie to bez sensu jest ich wyswietlanie w jednym selectie
powker1
one nie są ze sobą generalnie wogóle powiązane, i co do wyświetlania to jeszcze nie przerobiłem tego fragmętu, chodzi mi o to abym mógł za pomocą jednej wyszukiwarki na stronie 2 tabele przeszukac , a cały czas wyświetla mi "nie wykonałem" bo chyba coś jest nie tak w tym fragmęcie :

  1. <?php
  2.  
  3.  
  4. $sql=&#092;"select * from $tabela1,$tabela2 where gatunek like \"%$znajdz%\" or nazwa like \"%$znajdz%\" or producent like \"%$znajdz%\"
  5. or pojemnosc like &#092;"%$znajdz%\" or opis like \"%$znajdz%\" or strona like \"%$znajdz%\" podstawowy like \"%$znajdz%\" or skladnki like \"%$znajdz%\"
  6. or punkty like &#092;"%$znajdz%\" or ile like \"%$znajdz%\" \";
  7.  
  8. $rezultat=mysql_query ($sql,$lacz)
  9. or die (&#092;"nie wykonalem\");
  10.  
  11.  
  12. ?>
sad.gif
nospor
no więc:
jak używasz dwóch(kliku) tabel i mają pola o tej samej nazwie to musisz okreslac konretnie o jakie pola ci chodzi.
OKreślasz poprzez nazwa_tabeli.nazwa_pola

W twoim przypadku takim polem jest nazwa. Musisz go poprzedzić nazwą tabeli o którą ci chodzi, czyli $tabela.nazwa


Dalej jednak twierdzę, że jednym zapytaniem dwie nie powiązane tabele to bezsens robić, bo ci wyrzuci full kombinacji. Jak się wykona to się sam przekonasz o czym mówię tongue.gif
powker1
Dzięki, zadziałało i już wiem o czym mówiłeś tongue.gif biggrin.gif tongue.gif
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.