wyszukiwanie w mysql

0

Witam.

Mam taki problem robie pewną aplikacje bazodanową i potrzebuje zrobić wyszukiwarke, no i tu jest wlasnie moje pytanie, szukałem w sumie ale nigdzie nie znalazlem odpowiedniego skryptu może ktoś zna jakis dobry link to chetnie skorzystam chodzi mi głownie o podpatrzenie jak sa tworzone zestawy zapytań do mysql.

może tak jest to baza firm i mianowicie ma być możliwość wyszukiwania wedlgug wyboru <ort>urzytkownika </ort>:nazwa, nip, ulica, miasto itp uzytkownik sam ma wybierać jakiego typu frazy szuka nie koniecznie wszystko na raz, nie wiem czymnie zrozumiecie bo sie tu troche zakręciłem

za wszelkie informacje z góry BIG THX

0

to nie jest kwestia sql, tylko php czy też innego języka, w którym jest napisany interfejs. użytkownik ustawia w formularzu po których polach chce szukać, php to obrabia i odpowiednio generuje zapytanie, np.:
SELECT $Search FROM tabela
WHERE $Seach = '%$TextToSearch%'

0

Nie wiem dlaczego ten post wyszedl jako anonim przeciez jestem zalogowany?

Lr. to ze w php to ja wiem tylko mi chodzi o przykład takiego skryptu php cobym mogl podpatrzec jak to zrobić bo kombinowałem ale nie moge dojsc doladu miesza mi sie wszystko wiec chcalem jakiegos gotowca na sciage ;-)

0

hmm chodzi mi o cos takiego
wyszujesz sobie np wszystkie "drukarnie" z "poznania" gdzie maja np mszyne na taki format "510x400"

drukarnia i poznan jest w tej samej tabeli w tym samym rekordzie jednak np format plyt jest juz w innej tabeli potrzebuje przykład na takie zestawienia wyszukiwania

0

Jakbyś pokazał te tabele to o wiele łatwiej by mi się myślało, ale powiedzmy, że mamy taką tabelę z firmami
firmy/

---+----------------+------------+-------------
id nazwa typ miasto
---+----------------+------------+-------------
1 Drukarki S.A drukarnia Poznań

i drugą tabelkę gdzie jest ten format
dane/

----+-----------+--------------------
id id_firmy szukaj
----+-----------+--------------------
1 1 510x400
----+-----------+--------------------
2 1 format 510x400
----+-----------+--------------------

mysql_query("
SELECT f.id,f.nazwa,d.id 
from firmy as f, dane as d 
where f.typ == ".$_GET[typ]." and  // pobieramy firmy, które mają określony typ
where f.miasto == ".$GET[miasto]." and  // pobieramy firmy, które znajdują się w podanym mieście
where d.id_firmy == f.id and  // pobieramy dane firm, które spełniają powyższe warunki
where d.szukaj == '%".$_GET[szukaj]."%' // pobieramy firmy, które mają to czego szuka użytkownik
");

Pozdro... ;p

0

No i własnie i mi chodzi o te operatory czyli OR lub AND
Moze na przykładzie jednej tabeli a jak to mis ie uda to reszta juz <ort>pujdzie </ort>;-)
Mam np 5 pol w formularzu wyszukiwania:
-nazwa
-nip
-miasto
-branza
-ulica

i teraz musze ułożyć do tego zapytanie do mysql'a
ale nie wiem które pola uzytkownik wypełnił, które go interesowały i tu jest główny problem, chce aby uzytkownik mogl zrobic sobie taka selekcje np wszytkie firmy z poznania ktore sa drukariami
uzytkownik wypelnil tylko dwa pola i takie powinno byc zapytanie

mysql_query("SELECT * FROM customer WHERE miasto='poznan' AND branza='drukarnia'")

ale jesli np wybierze sobie jeszcze ulice koscielna to zapytanie musi wygladać tak

mysql_query("SELECT * FROM customer WHERE miasto='poznan' AND branza='drukarnia' AND ulica LIKE '%Koscielna%' ")

Bo nie wiem czy w bazie jest wpisane z poprzedzeniem ul. i czy jest jakis numer lokalu wiec użyłem LIKE tak samo tyczy sie nazwy

Moze teraz przedstawiłem dokładniej moj problem

0
if ($ulica) $query .= " AND ulica LIKE '%$ulica%'"; 
  • tak w wersji najprostszej.
0

i tak tez zrobiłem :p na poczatku ale myslalem ze jest jakas lepsza wersja :d

bo te zapytania nic nie zwracaja :-[

0

to znaczy, że się gdzieś pieprznąłeś w kodzie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0