Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> konstrukcja kodu wiele warunków
straku
post
Post #1





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 31.03.2010
Skąd: Nysa

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


Witam Was.
Otóż mam pewnien nie mały problem ze skonstruowaniem jednego zapytania do bazy danych, aby pobrać dane z kilkoma warunkami.
Mam kod, który pobiera z adresu zmienne:

  1. $co_szukam = $_GET['typ'];
  2. $szuka_rodzaj = $_GET['rodzaj'];
  3. $szuka_cena_od = $_GET['cena_od'];
  4. $szuka_cena_do = $_GET['cena_do'];
  5. $szuka_waluta = $_GET['waluta'];
  6. $szuka_pow_od = $_GET['pow_od'];
  7. $szuka_pow_do = $_GET['pow_do'];
  8. $szuka_wojewodztwo = $_GET['wojewodztwo'];
  9. $szuka_miejscowosc = $_GET['miejscowosc'];
  10. $szuka_zdjecie = $_GET['zdjecie'];


które chciałbym użyć w jednym zapytaniu:

  1. $zapytanie_specjalne = mysql_query("SELECT id_domu, rodzaj, typ, miejscowosc, powierzchnia, nr_oferty, data_dodania, cena FROM domy WHERE typ='$co_szukam' ORDER BY nr_oferty DESC LIMIT 8") or die ("Błąd zap. ");


Wyglądałoby to następująco:
Z kolumny rodzaj pobrac $szuka_rodzaj,
z kolumny miejscowosc pobrac $szuka_miejscowosc... itp


Dodam tylko, że jest to kawałek kodu z napisanego przeze mnie skryptu wyszukiwania.

Ten post edytował straku 15.11.2012, 12:31:17
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
d3ut3r
post
Post #2





Grupa: Zarejestrowani
Postów: 709
Pomógł: 176
Dołączył: 24.10.2010

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


tam wyżej już Ci napisali jak to zrobić dość szybko wszystko opiera się na zasadzie:

  1. $fields=array('rodzaj','typ','miejscowosc','powierzchnia','cena');
  2.  
  3. $where=array();
  4.  
  5.  
  6. foreach ($fields as $field){
  7.  
  8.  
  9. if (isset($_POST[$field]) && !empty($_POST[$field])){
  10. $val=mysql_real_escape_string($_POST[$field]);
  11. $where[]=$field.' = \''.$val.'\'';
  12. }
  13.  
  14. }
  15.  
  16. $sql='SELECT id_domu,rodzaj,typ,miejscowosc,powierzchnia,nr_oferty,data_dodania,cena
  17. FROM domy';
  18.  
  19. if (count($where)>0){
  20. $sql.=' WHERE '.implode($where,' AND ');
  21. }
  22.  
  23. $res=mysql_query($sql);


Go to the top of the page
+Quote Post

Posty w temacie


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: 14.10.2025 - 05:24