Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: if zapytanie sql elseif zapytanie2
Forum PHP.pl > Forum > Przedszkole
bartek.jaw
Witam, mam takie pytanie.

Chciałbym wyszukać z tabeli klienci wszystkich klientów, lub klientów tylko wg pola imie wpisanego z formularza, lub tylko klientów wg pola nazwsko wpisanego z formularza, lub wg pola imie i nazwisko (razem).

Jeżeli stosuję OR to nie działa tak jak powinno.

Czy można zapisać to w if'ach ?
Np:
select * from klienci;
if ($imie)
{
select * from klienci
where imie=$imie;
}

Lub jakoś tak questionmark.gif?

Bardzo proszę o pomoc i przykład w rozwiązaniu tego zapytania.

Serdecznie pozdrawiam.
sf
  1. <?php
  2.  
  3. $sSQL = 'SELECT * FROM hyh WHERE lalala = 2';
  4. if($user->imie) {
  5. $sSQL .= ' AND name LIKE "'. $user->imie . '"';
  6. }
  7. if($user->nazwisko) {
  8. $sSQL .= ' AND nazwisko LIKE "'. $user->nazwisko . '"';
  9. }
  10.  
  11. $rRes = $oDB->query($sSQL);
  12.  
  13. ?>
batman
Oto jeden ze sposobów:
Zakładam, że imię przesyłasz formularzem.
  1. <?php
  2. $imie='';
  3. if ($_POST['imie'])
  4. {
  5. $imie=$_POST['imie'];
  6. }
  7.  
  8. $q=mysql_query("SELECT imie FROM tabela WHERE imie LIKE '%".$imie."'%");
  9.  
  10. ?>
crash
  1. <?php
  2. $where = '';
  3. if( !empty( $_POST[ 'szukImie' ] ) or !empty( $_POST[ 'szukNazw' ] ) )
  4. {
  5.  $where .= 'WHERE ';
  6.  $szuk  = array();
  7.  
  8.  if( !empty( $_POST[ 'szukImie' ] ) )
  9.  {
  10. $szuk[] = 'imie = "' . $_POST[ 'szukImie' ] . '"';
  11.  }
  12.  if( !empty( $_POST[ 'szukNazw' ] ) )
  13.  {
  14. $szuk[] = 'nazwisko = "' . $_POST[ 'szukNazw' ] . '"';
  15.  }
  16.  
  17.  $where .= implode( ' OR ', $szuk ); // albo AND
  18. }
  19.  
  20. $sql = 'SELECT * FROM klienci ' . $where;
  21. ?>
bartek.jaw
Wielkie dzięki crash, dokładnie o takie coś mi chodziło.

Dzięki wszystkim za pomoc :-)

Pozdrawiam.
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.