Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Problem z SELECT
-Gość_Adam-
post
Post #1





Goście







Witam, pisze skrypt ktory wyszukuje ofert turystyczne, napotkalem jeden problem a mianowicie w formularzu procz ceny mozna okreslij miejsce pobytu - wiem jak przeszukac baze pod wzgledem miejsca pobytu jednak problem pojawia sie kiedy uzytkownik wybierze dowolne miejsce pobytu i co wtedy zrobic zeby po prostu jeden warunek znikl z polecenia wysylanego do mySQL?
ktore wyglada wyglada tak:

...
  1. <?php
  2.  
  3. $sql = &#092;"SELECT * FROM prima WHERE b_cena > '$min' AND b_cena < '$max' AND b_pobyt = '$f_pobyt' ORDER BY b_id DESC\";
  4.  
  5. ?>


wpadlem na pomysl zeby wepchnac jakos do srodka intrukcje IF, ale jak to nie mam pojecia, mialoby to wygladac mniej wiecej tak:

  1. <?php
  2.  
  3. $sql = &#092;"SELECT * FROM prima WHERE b_cena > '$min' AND b_cena < '$max' AND if($f_pobyt!=\"dowolne\")
  4. { 
  5.  b_pobyt = '$f_pobyt'
  6. } 
  7. ORDER BY b_id DESC&#092;";
  8.  
  9. ?>




Prosze o pomoc
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
j00seph
post
Post #2





Grupa: Zarejestrowani
Postów: 54
Pomógł: 0
Dołączył: 3.10.2004
Skąd: Taka wiocha koło Cieszyna :P

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


Więc tak :
W sql znak % oznacza to dowolna kombinace ( * w dosie,linuxie)
Myśle ze miałoby to wyglądać mniejwięcej tak
  1. <?php
  2.  
  3. if($f_pobyt==null){
  4. $f_pobyt=&#092;"%%\";
  5. }
  6. $sql = &#092;"SELECT * FROM prima WHERE b_cena > '$min' AND b_cena < '$max' AND b_pobyt = '$f_pobyt' ORDER BY b_id DESC\";
  7. ?>


PS. ja sie nie znam - niech sie ktos wypowie - czy zamiast %% mogloby byc ANY ?

PS2.[REKLAMA] Prosze o klika (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) http://my.opera.com/J00nash/affiliate/

pozdrw.
Go to the top of the page
+Quote Post
Kuziu
post
Post #3





Grupa: Zarejestrowani
Postów: 743
Pomógł: 0
Dołączył: 11.11.2003
Skąd: Toruń

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


Zawsze możesz posklejać zapytanie:
  1. <?php
  2.  
  3. $sql = &#092;"SELECT * FROM prima WHERE b_cena > '$min' AND b_cena < '$max'\";
  4. if($f_pobyt != 'dowolne'){
  5.  $sql .= &#092;" AND b_pobyt = '$f_pobyt'\";
  6. }
  7. $sql .= &#092;" ORDER BY b_id DESC\";
  8.  
  9. ?>


Ten post edytował Kuziu 24.04.2005, 16:59:10
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 24.08.2025 - 04:02