Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][HTML][SQL] Warunki po WHERE w zależności od wartości $_POST
Forum PHP.pl > Forum > Przedszkole
-Marcin-
Witam
Mam formularz w HTML'u a w nim 12 pól( <input type="text" ...). Wartości przekazywane przez button submit do skryptu PHP w którym znajduje się zapytanie SQL.
Pola w formularzu mogą być wypełnione bądź nie.
Chciałbym uzyskać efekt taki:

SQL w skrypcie PHP:
  1. SELECT * FROM moja_baza WHERE (tu mam problem ze sk&#322;adnią zapytania - napiszę to wprost:
  2. IF ($_POST['1'] !=NULL) {NAZWISKO='".$_POST['1']."' }
  3. IF ($_POST['2'] !=NULL) {IMIE='".$_POST['2']."' }
  4. IF ($_POST['3'] !=NULL) {MIEJSCOWOSC='".$_POST['3']."' }
  5. )


Czyli zawrzeć w jednym zapytaniu po klauzuli WHERE kilka warunków wyszukiwania, zależnych od tego czy pole było wypełnione czy też nie.
Z góry dzięki za pomoc w rozpisaniu składni takiego zapytania.
Pozdrawiam
marcin
Lion_87
a mozesz alvo tak sie pomeczyc:

  1. <?php
  2. IF ($_POST['1'] !=null) { $polecenie1 ="NAZWISKO='".$_POST['1']."' and"; } 
  3.  else{ $polecenie1 =""; } 
  4.  
  5. IF ($_POST['2'] !=null) { $polecenie2 ="IMIE='".$_POST['2']."' and"; } 
  6.  else{ $polecenie2 =""; } 
  7.  
  8. ?>



$sql = "SELECT * FROM moja_baza WHERE $polecenie1 $polecenie2";


itd...
nospor
@lion faktycznie sie pomeczy, szczegolnie ze generujesz bledne skladniowo zapytanie winksmiley.jpg
Lion_87
Cytat(nospor @ 10.07.2008, 21:18:46 ) *
......... szczegolnie ze generujesz bledne skladniowo zapytanie winksmiley.jpg


no tell me why?

a pomeczy to wiem..
nospor
zrob se echo na swoim wygenerowanym zapytaniem to zauwazysz co jest źle.
Lion_87
no i nie widze błedu o.O
nospor
chyba nie wygenerowales tego echo...
Naprawde nie widzisz pustego AND na koncu zapytania?
Naprawde nie widziesz braku odstepu miedzy AND a nastepnym warunkiem?

Przeciez do dwa powazne bledy
Lion_87
tu sie zgodze smile.gif

no ale zrobilem 2 tylko if'y a on mowił o 12 polach.
i dlatego powiedzialem o meczeniu sie ;D
nospor
mi chodzilo, ze sie pomeczy z twoim przykladem. Ty masz tylko dwa warunki a masa bledow, a co dopiero 12 winksmiley.jpg
Rozwiązanie co podalem jest w miare uniwersalne i nie generuje bykow
Gość
Dzięki - juz wiem co i jak zabieram się za to.
pozdro marcin
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.