Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> if zapytanie sql elseif zapytanie2, pomoc w zapytaniu
bartek.jaw
post
Post #1





Grupa: Zarejestrowani
Postów: 40
Pomógł: 0
Dołączył: 5.10.2004

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


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 (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ?

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

Serdecznie pozdrawiam.
Go to the top of the page
+Quote Post
sf
post
Post #2





Grupa: Zarejestrowani
Postów: 1 597
Pomógł: 30
Dołączył: 19.02.2003
Skąd: Tychy

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


  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. ?>
Go to the top of the page
+Quote Post
batman
post
Post #3





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




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


Ten post edytował batman 1.09.2005, 21:14:43
Go to the top of the page
+Quote Post
crash
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 2 196
Pomógł: 2
Dołączył: 17.01.2004
Skąd: Sosnowiec

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


  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. ?>
Go to the top of the page
+Quote Post
bartek.jaw
post
Post #5





Grupa: Zarejestrowani
Postów: 40
Pomógł: 0
Dołączył: 5.10.2004

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


Wielkie dzięki crash, dokładnie o takie coś mi chodziło.

Dzięki wszystkim za pomoc :-)

Pozdrawiam.
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: 14.10.2025 - 13:50