Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> wyszukiwarka
krosoft
post 17.08.2005, 13:21:15
Post #1





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 16.08.2004

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


Potrzebuje pomocy musze zrobic wyszukiwanie rekordów na podstawie wypełnionych kilku pól. Tu jest malutki przykladzik
  1. <?php
  2. if($imie != NULL) {
  3. $sql1 = "imie = '$imie'";
  4. }
  5. if($nazwisko != NULL) {
  6. $sql2 = "nazwisko = '$nazwisko'";
  7. }
  8. if($wojewodztwo != NULL) {
  9. $sql3 = "wojewodzwo = '$wojewodztwo' AND";
  10. }
  11. if($kategoria != NULL) {
  12. $sql4 = "kategoria = '$kategoria' OR kategoria_2 = '$kategoria' OR kategoria_3 = '$kategoria' OR kategoria_4 = '$kategoria' OR kategoria_5 = '$kategoria'";
  13. }
  14.  
  15. ?>


chodzi o to ze zapytanie powiino wygldac tak zw wszystko musi byc AND np: $sql1 AND $sql2 AND $sql3 AND $sql4
ale jak zrobic jak np ktos nie poda imienia to wtedy zeby było tylko $sql2 AND $sql3 AND $sql4 albo np nazwiska to by bylo $sql1 AND $sql3 AND $sql4.
Prosze o pomoc
Go to the top of the page
+Quote Post
nospor
post 17.08.2005, 13:28:50
Post #2





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




  1. <?php
  2.  
  3. $wh = array();
  4. if ($warunek1)
  5.    $wh[] = 'jakiś warunek1';
  6. if ($warunek2)
  7.    $wh[] = '(jakiś warunek2 or jakis warunek 3)';
  8. //.....
  9. if (!empty($wh))
  10.    $where = 'where '.implode(' and ', $wh);
  11. else
  12.    $where = '';
  13.  
  14. $sql = 'select ..... '.$where;
  15. ?>


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

"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
johnson
post 17.08.2005, 13:32:41
Post #3





Grupa: Zarejestrowani
Postów: 90
Pomógł: 2
Dołączył: 3.12.2004

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


Ja to bym zrobił tak:
  1. <?php
  2. $sqlwhere = ' where 1=1';
  3. if(!empty($_GET['imie'])) {
  4. $sqlwhere .= " and `imie` = '$imie'";
  5. }
  6. if(!empty($_GET['nazwisko'])) {
  7. $sqlwhere .= " and `nazwisko` = '$nazwisko'";
  8. }
  9. .....itd.
  10. $res = mysql_query("select `id`, `itd` from `table`$sqlwhere");
  11. ?>


pamiętaj tylko przy kategoriach o nawiasach
Go to the top of the page
+Quote Post
krosoft
post 17.08.2005, 13:47:20
Post #4





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 16.08.2004

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


dzieki bardzo ale działa ten pierwszy sposob tez zadzialal
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: 15.06.2025 - 08:01