Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Formularz a wyszukiwanie, jedno pole formularza = 2 różne pola DBA
bartek.jaw
post
Post #1





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

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


Witam.

Mam taki problem.

Mam w bazie danych tabelę z polami np imie, nazwisko, imie2, nazwisko2 itp.

Mam też formularz do wyszukiwania z tej tabeli.

Mój problem jest taki, że nie wiem jak zrobić żeby z jednego pola w formularzu np Imię, wyszukiwało mi albo zawartości tabeli pola imie lub pola imie2.

Szukałem na forum, ale niestety nie znalazłem.

Serdecznie pozdrawiam.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 10)
batman
post
Post #2





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




  1. SELECT *
  2. FROM tabela WHERE imie='".$_POST['imie']."' OR imie2='".$_POST['imie']."'


Na przyszłość polecam manuale (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
crash
post
Post #3





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

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


Nosz żartujesz, że nie ma (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
  1. SELECT *
  2. FROM tabela WHERE imie LIKE "%szukane%" OR imie2 LIKE "%szukane%"
Go to the top of the page
+Quote Post
bartek.jaw
post
Post #4





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

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


Właściwie to macie rację, ale ja mam taki skrypt i nie wiem jak sobie z tym poradzić :-)

  1. <?php
  2. $where = '';
  3.  
  4.  if( !empty( $_POST[ 'szukImie' ] ) or !empty( $_POST[ 'szukNazw' ] ))
  5.  {
  6.  $where .= 'WHERE ';
  7.  $szuk  = array();
  8.  
  9.  if( !empty( $_POST[ 'szukImie' ] ))
  10.  {
  11.  $szuk[] = 'imie = "' . $_POST[ 'szukImie' ] . '"';
  12.  }
  13.  if( !empty( $_POST[ 'szukNazw' ] ) )
  14.  {
  15.  $szuk[] = 'nazwisko = "' . $_POST[ 'szukNazw' ] . '"';
  16.  }  
  17.  $where .= implode( ' OR ', $szuk);
  18.  }
  19.  
  20. $zapytanie = "SELECT
  21.  k.nazwisko AS nazwisko,
  22.  k.imie AS imie,
  23.  
  24.  FROM
  25. klienci k,
  26.  
  27. WHERE
  28.  k.imie like '%".$imie."%' AND
  29.  k.nazwisko like '%".$nazwisko."%' AND
  30.  
  31. $wynik = @mysql_query($zapytanie);
  32.  
  33. ?>


Próbowałem wpisać coś takiego :
k.imie like '%".$imie."%' OR k.imie like '%".$imie2."%' AND
ale wyśiwetla mi jakieś bzdury.

Proszę o małą podpowiedź.

Pozdrawiam.
Go to the top of the page
+Quote Post
batman
post
Post #5





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




  1. <?php
  2.  
  3. $where = ' WHERE ';
  4.  
  5. if(!empty( $_POST[ 'szukImie' ] ))
  6. {
  7.  $where.="imie='".$_POST[ 'szukImie' ]."'";
  8. }
  9.  
  10. if(!empty( $_POST[ 'szukNazw' ] ))
  11. {
  12. $where.="nazwisko='".$_POST[ 'szukNazw' ]."'";
  13. }
  14.  
  15. if($where==' WHERE ')
  16. {
  17.  $where='';
  18. }
  19.  
  20. $zapytanie = "SELECT
  21.  k.nazwisko AS nazwisko,
  22.  k.imie AS imie,
  23.  FROM
  24. klienci k";
  25. $zapytanie=$zapytanie.$where;
  26.  
  27. $wynik = @mysql_query($zapytanie);
  28. ?>


Pisałem bez sparawdzania ale powinno zadziałać.

Zapomniałem o like:

  1. <?php
  2. $where.="imie like'%".$_POST[ 'szukImie' ]."'%";
  3. ?>

I tak samo dla szukNazw

Ten post edytował batman 3.09.2005, 19:33:03
Go to the top of the page
+Quote Post
bartek.jaw
post
Post #6





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

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


Batman, skrytp, który wpisałem wyżej działa dobrze, więc nie muszę go zmieniać.

Chodziło mi o zapytanie w stylu:

  1. k.imie LIKE '%".$imie."%' OR k.imie LIKE '%".$imie2."%' AND


To zapytanie wyświetla mi jakieś bzdury.

Jeżeli możesz to popraw mój skrypt włączając w niego to zapytanie.

Dzięki za pomoc.

Pozdrawiam.
Go to the top of the page
+Quote Post
batman
post
Post #7





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




  1. <?php
  2. $zapytanie = "SELECT
  3.  k.nazwisko AS nazwisko,
  4.  k.imie AS imie
  5.  
  6.  FROM
  7. klienci k
  8. WHERE
  9.  k.imie like '%".$imie."%' AND
  10.  k.nazwisko like '%".$nazwisko."%'";
  11. ?>

A teraz (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) Dodałem cudzysłów i średnik (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) oraz usunąłem kilka przecinków (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Ten post edytował batman 3.09.2005, 20:01:38
Go to the top of the page
+Quote Post
crash
post
Post #8





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

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


Nie wiem tylko po co ta pierwsza część kodu, która btw. napisałem Ci wczoraj, ale nawet nie wykorzystujesz jej w zapytaniu (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
bartek.jaw
post
Post #9





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

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


Tak masz rację, brakowało średnika i przecinek był zbędny. Wkleiłem kawałek kodu z całości i nie zwróciłem uwagi na to. Moja wina (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) ale nie w tym sens.

Cały czas nie wiem jak sformułować to zapytanie, żeby z jednego pola formularz wyszukiwało z dwóch pól w tabeli (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)

Pozrawiam.
Go to the top of the page
+Quote Post
batman
post
Post #10





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




  1. <?php
  2.  
  3. WHERE
  4.  (k.imie like '%".$imie."%' AND
  5.  k.nazwisko like '%".$nazwisko."%'") OR
  6.  (k.imie2 like '%".$imie."%' AND
  7.  k.nazwisko2 like '%".$nazwisko."%'"
  8.  
  9. ?>

O to chodzi (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post
bartek.jaw
post
Post #11





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

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


Nie dokładnie o to, ale cały problem polegał na nawiasach.

Chciałem Wam bardzo podziękować za pomoc (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Pierwszą część tego skryptu napisał crash, za to też mu bardzo dziękuję. Wg mnie działa super.

Jeżeli robię coś źle, lub nie umiem czegoś wyszukać to proszę o wyrozumiałość, ponieważ uważam siebie za bardzo początkującego programistę php (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)

Takie forum jest dla mnie lekarstwem na całe zło (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Dziękuję jeszcze raz i pozdrawiam.

Bartek.
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: 25.08.2025 - 08:02