Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]Wyszukiwarka - kilka pól tekstowych
LukPG
post
Post #1





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 3.10.2008

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


Witam
Zastanawiam się w jaki sposób można rozwiązać taki problem: jest sobie na stronie wyszukiwarka, powiązana z kilkoma polami tekstowymi, których nie ma konieczności uzupełniania. W jaki sposób mógłbym wyszukiwać (określić zapytanie SELECT), tylko dla uzupełnionych pól. Każde wypełnione pole będzie zawężało poszukiwania (czyli, np. pierwsze pole to nazwisko, a drugie zawód). Wymaganym złączeniem w zapytaniu SELECT jest and, ale jeżeli, np. drugiego pola nie uzupełnię, to zapytanie: SELECT ... and zawod=$zawod (gdzie $zawod jest NULL), spowoduje, że nie zostaną wyświetlone żadne wyniki. Mam nadzieję, że nie zamieszałem za bardzo (IMG:style_emoticons/default/rolleyes.gif)

Pozdrawiam
Go to the top of the page
+Quote Post
thek
post
Post #2





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Sprawdzać musisz czy pole formularza jest puste czy nie i doklejać do zapytania odpowiedni fragment.
  1. $sql = 'SELECT * FROM tabela WHERE ';
  2. if( !empty( $_POST['pole'] ) )
  3. $sql .= ' pole LIKE \'$'.$_POST['pole'].'%\' AND';
  4. if( !empty( $_POST['pole2'] ) )
  5. $sql .= ' pole2 LIKE \'$'.$_POST['pole2'].'%\' AND';
  6. $sql = rtrim( $sql, ' AND' );
  7. $wynik = mysql_query( $sql );
Na końcu muszę usunąć nadmiarowe ' AND' by nie wywaliło mi błędu. Poza tym pamiętaj... Musi być ustawione conajmniej 1 kryterium wyszukiwania i pola formularza musisz sprawdzić wcześniej by uniknąć wstrzyknięcia kodu do zapytania.

Ten post edytował thek 7.11.2009, 21:52:36
Go to the top of the page
+Quote Post
LukPG
post
Post #3





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 3.10.2008

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


Dzięki 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: 17.09.2025 - 20:13