Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL]Wyszukiarka
Forum PHP.pl > Forum > Przedszkole
Cwirek1987
Mam pytanie czy da się szukać słowa w danej bazie danych załużmy ze mam baze o nazwie sklep i w sklepie mam table takie jak monitory, pc, psx, tv, i teraz chce zeby skrypt szukał w baize sklep i przeszukiwał kazdą tabele az znajdzie słowa zauzmy samsung w którejś z tych tabel jak by miało cos takiego wygladać w php?
Shili
http://webmade.org/kursy-online/wyszukiwan...-kurs-mysql.php

używanie google nie jest trudne.
Piniek
Temat: wyszukiwarka -> poczytaj sobie
Cwirek1987
no ale to nie badzo ma zwiazek z tym o co pytam bo ta druga strona to wogóle nie na temat a ta pierwsza to musze podać konkretną tabele w której ma szukać a mnie chodzi o to żeby on szukał w kazdej tabeli tego samego

ps. szukałem i byłem na tej pierwszej stronie.

znam ale co z tego jak nie wiem jak to ma być ułozone wiem tylko ze musze się połaczyć i dac zapytanie i po wykananiu zamknąc połaczenie
jak połaczyć i jak zakonczyć połaczenie to wiem ale zapytanie nie wiem jak zdefiniować
Shili
O kurde, nie znasz czegoś takiego jak AND czy OR choćby?
Cwirek1987
jak ma być sformułowane to zapytanie no nazwa bazy sklep i ma szukać słowa moniotr w całej bazie

nie kazdy wszystko umie po to sa fora zeby pomagać a nie zbywać ludzi jakimiś linkami jeszcze wogule nie na temat te linki to ze dotycza podobnego nie znaczy ze to to samo!
Romskey
Nie testowałem metody z przeszukiwaniem kilku tabel bo nigdy nie uważałem za stosowne rozrzucac produktów tej samej maści po kilku tabelach .

Idac śladem porady przedmówcy wyglądać to powinno jakoś tak

$znajdz="Samsung";

//..połaczenie z bazą

$zapytanie = "SELECT * FROM pierwsza_tabela AND druga_tabela where model like \"$znajdz\"";

Nie ręczę za wynik . Ale cię rozumiem więc podrzucam jak wyglada uzycie sugestii przedmówcy .
Shili
Jest jeszcze sugestia drugiego przedmówcy odnośnie dużo lepiej działającej wyszukiwarki, ale autor posta nawet nie włączył samodzielnego myślenia i równie samodzielnej chęci rozwiązania problemu, więc dałam najprostszy, choć najgorszy pod względem wydajności sposób. I nadal nie uznał za stosowne choćby spróbować i podzielić się wynikami własnej próby.

Zapytanie jest złe, poprawne powinno wyglądać bardziej w ten sposób
  1. SELECT * FROM table_one, table_two WHERE table_on.text LIKE "search_phrase" OR table_two.text LIKE "search_phrase"
Potem tylko trzeba stwierdzić w której tabeli to coś wystąpiło, ale to już można spokojnie zrobić na przeszukiwaniu zwróconych stringów.
Tak, są lepsze metody, ale jeśli autor posta znowu nie da nic od siebie, to zawsze ma jeden z "ciekawszych" sposobów na rozwiązanie tego problemu.
Cwirek1987
tak się skałąda ze siedze nadtym juz bardzo długi czas i kobinowałem ruznymi sposobami i z and i or ale zeby uzyć to przy tabelach mi nie przyszło do głowy mi nie chodziło o gotowy skrypt tylko o mniej wicej jak to miało by wygladać i dzięki Romskey oby było wicej takich ludzi na forum:)

  1. <? 
  2. $szukaj = $_POST['szukaj'];
  3.  
  4. $connection = mysql_connect("localhost","login","haslo")
  5.  
  6. or die ("Nie można połączyć się z serwerem");
  7. mysql_query("SET CHARACTER SET utf8");
  8. mysql_query("SET collation_connection = utf8_general_ci");
  9.  
  10. $db = mysql_select_db("sklep", $connection)
  11. or die ("Nie można wybrać bazy danych");
  12.  
  13. $zapytanie = "SELECT * FROM monitory, drukarki where monitory.producent like '$szukaj' or drukarki.producent like '$szukaj'"; 
  14. {
  15. echo "$zapytanie";
  16. }
  17. mysql_close($connection);
  18. ?>


jak to mozna zmienić aby szukał we wszytkich kolumnach zamiast wypisaywać monitor.id, monitor.producent, monitor.opis i tp.

i jak to mozna zrobić w prosty sposób?
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.