Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Jak zrobic wyszukiwanie wielokryterialne
swmikolaj21
post
Post #1





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 11.05.2005

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


Witam!

Chcialbym zbudowac skrypt wyszukujacy z bazy samochodow wg roznych kryteriow.

Problem mam z zapytaniami SQL. Czy mozliwe jest zrobienie WHERE marka='$marka' ale zeby wybral wszystkie marki?? Poniewaz jedna z opcji mam wszystkie....

Czy jednak trzeba to zrobic inaczej, jesli tak to jak? Mam takich kilka opcji i robienie oddzielnych zapytan dla wszystkich kombinacji to masakara i chyba jest inne wyjscie

Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
Ace
post
Post #2





Grupa: Zarejestrowani
Postów: 216
Pomógł: 0
Dołączył: 9.08.2003
Skąd: Warszawa

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


po prostu nie podajesz warunku na wyszukiwanie marki... Wtedy wyszuka tobie wszystkie marki.
Go to the top of the page
+Quote Post
swmikolaj21
post
Post #3





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 11.05.2005

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


No wiem wiem, tak sie balem ze nie dokladnie wytlumaczylem.

No ale jak moge wybrac wszystkie roczniki i wszstkie ceny i w wyszukiwaniu chce uwglednic ze mozna wybrac w kazdej opcji "wszystkie". To biorąc to pod uwage musze uwzglednic oddzielne zapytania SQL dla wszystkich kombinacji. Im wiecej opcji wyszukiwania tym sprawa sie komplikuje.


Np.
if--> Marka=all cena=all rok=all--> SELECT * FROM cars
if--> Marka!=all cena=all rok=all--> SELECT * FROM cars WHERE marka=$marka
if--> Marka!=all cena!=all rok=all--> SELECT * FROM cars WHERE cena=$cena AND marka=$marka
.
.
.
.
.
.
. itp a to duzo mozliwosci............
Go to the top of the page
+Quote Post
nospor
post
Post #4





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




  1. <?php
  2.  
  3. $where=array();
  4. if ($marka)
  5.  $where[]=&#092;"marka='$marka'\";
  6. if ($car)
  7.  $where[]=&#092;"car='$car'\";
  8. //....full innych warunków
  9. $where=implode(' and ',$where);
  10. $sql='zapytanie bez where';
  11. if ($where)
  12.  $sql.=' where '.$where;
  13.  
  14. ?>


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

"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

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 Aktualny czas: 21.08.2025 - 09:21