Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: SQL Wyciągnie danych z bazy, problem ze spacją oraz powtarzanie danych.
Forum PHP.pl > Forum > Bazy danych > MySQL
KrzysiekKCN
Cześć, napisałem polecenie do wyciągania rekordów z bazy po wpisaniu określonego wyrażenia.
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."%'";

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."%'";


Proszę o pomoc, i z góry dziękuje
nospor
ad1) Skoro raz piszesz
'".$q."%'
a raz:
'%".$q."%'
To wypadałoby wiedzieć po co w ogóle używasz tych procentów %. One są właśnie kluczem do problemu pierwszego
KrzysiekKCN
smile.gif Dzięki, faktycznie, nie dopatrzyłem tego, a teraz jak zrobić niepowtarzalność wyświetlanych danych?
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.