Kod
$zapytanie="SELECT * FROM produkt
LEFT JOIN marka ON produkt.nazwa = marka.id
LEFT JOIN producent ON produkt.producent = producent.id
where pnazwa Like '".$q."%' Or kolor Like '%".$q."%' Or marka Like '".$q."%' Or batch Like '%".$q."%'";
LEFT JOIN marka ON produkt.nazwa = marka.id
LEFT JOIN producent ON produkt.producent = producent.id
where pnazwa Like '".$q."%' Or kolor Like '%".$q."%' Or marka Like '".$q."%' Or batch Like '%".$q."%'";
na krótki przykładnie wygląda to tak:
w tabeli marka mam pole marka = WEBER 4721,
jeżeli w wyszukiwarkę wpisze we, weber, weber 4721 to wyświetli mi ten rekord.
Ale jeżeli chciał bym wpisać 4721 to niestety nie uzyskam żadnego wyniku.
Próbowałem posłużyć się tu wyrażeniami regularnymi z tej strony -> http://tom000.info/blog/mysql__wyrazenia_regularne.html
kolejna sprawa że mam powtarzalność danych, za każdym razem np wyświetli mi 10 weberów, 5 czegoś innego.
Tak, wiem że do tego służy DISTINCT ale problem jest w tym że nie potrafię go zastosować przy left joinach.
Kod
$zapytanie="SELECT distinct pnazwa, marka, kolor, batch FROM produkt
LEFT JOIN marka ON produkt.nazwa = marka.id
LEFT JOIN producent ON produkt.producent = producent.id
where
pnazwa Like '".$q."%'
Or kolor Like '%".$q."%'
Or marka Like '".$q."%'
Or batch Like '%".$q."%'";
LEFT JOIN marka ON produkt.nazwa = marka.id
LEFT JOIN producent ON produkt.producent = producent.id
where
pnazwa Like '".$q."%'
Or kolor Like '%".$q."%'
Or marka Like '".$q."%'
Or batch Like '%".$q."%'";
Proszę o pomoc, i z góry dziękuje