Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> SQL Wyciągnie danych z bazy, problem ze spacją oraz powtarzanie danych., 1 rekord, 2 wyrazy, wyszukanie 2 wyrazu, jak?
KrzysiekKCN
post 2.02.2012, 13:16:46
Post #1





Grupa: Zarejestrowani
Postów: 148
Pomógł: 2
Dołączył: 4.08.2009
Skąd: Poznań

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
nospor
post 2.02.2012, 13:19:53
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
KrzysiekKCN
post 2.02.2012, 13:38:16
Post #3





Grupa: Zarejestrowani
Postów: 148
Pomógł: 2
Dołączył: 4.08.2009
Skąd: Poznań

Ostrzeżenie: (0%)
-----


smile.gif Dzięki, faktycznie, nie dopatrzyłem tego, a teraz jak zrobić niepowtarzalność wyświetlanych danych?
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 24.07.2025 - 20:02