• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Wyszukiwanie przez mysql

0 głosów
71 wizyt
pytanie zadane 20 września 2019 w SQL, bazy danych przez BlvckFox Gaduła (4,240 p.)

Cześć, robię wyszukiwarkę w PHP i chciałbym, żeby po wpisaniu przez użytkownika wartości przeszukało bazę i gdy w bazie występuje dane słowo to zwróciło cały rekord. np:

PRODUKTY:

id name
1 Rozek
2 Lód

PRODUCENCI:

id name
1 Coral
2 Philips


DOSTEPNE

 

id producent produkt
1 1 1
2 1 2

chciałbym, żeby uzytkownik po wpisaniu 'Coral' bladź 'lód'/'rozek' wyswietlily mu sie dwa rekordy.

 

Moje zapytanie w projekcie wygląda tak:

SELECT * FROM products as p, producers as pr, avaliable as a WHERE a.producer = pr.id AND a.product = p.id AND p.name LIKE '%coral%' OR pr.name LIKE '%coral%'

Nie działa tak jak powinno, wyświetlają się wszystkie rekordy, za to gdy zapytanie jest bez "OR" wszystko działa prawidłowo:
 

SELECT * FROM products as p, producers as pr, avaliable as a WHERE a.producer = pr.id AND a.product = p.id AND p.name LIKE '%coral%' 

 

1 odpowiedź

0 głosów
odpowiedź 20 września 2019 przez Chess Szeryf (76,750 p.)
edycja 20 września 2019 przez Chess
 
Najlepsza
SELECT * FROM products as p, producers as pr, avaliable as a WHERE a.producer = pr.id AND a.product = p.id AND p.name LIKE '%coral%' OR a.producer = pr.id AND a.product = p.id AND pr.name LIKE '%coral%';

tutorial Możesz zamiast tego skorzystać z REGEXP_LIKE chyba, że nie o to chodzi.

Dlatego SQL wyrzucał rekordy bez warunku pierwszego, ponieważ nie uwzględniłeś tego warunku po słowie OR, tak jak jest to w językach programowania.

Podobne pytania

–2 głosów
0 odpowiedzi 126 wizyt
pytanie zadane 22 grudnia 2016 w SQL, bazy danych przez Szymon Lisowiec Mądrala (7,190 p.)
0 głosów
0 odpowiedzi 48 wizyt
pytanie zadane 20 stycznia 2021 w SQL, bazy danych przez Piotr Jarema Użytkownik (970 p.)
0 głosów
1 odpowiedź 111 wizyt
pytanie zadane 1 lutego 2018 w SQL, bazy danych przez Kshyhoo Użytkownik (750 p.)

88,364 zapytań

136,964 odpowiedzi

305,691 komentarzy

58,632 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Sklep oferujący ćwiczenia JavaScript, PHP, rozmowy rekrutacyjne dla programistów i inne materiały

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...