Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> niewypełnione pola formularza -> mysql
rav83
post
Post #1





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 13.02.2005

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


jest taki problem:
user przy wypelnianiu formularza, pole TYP: "1 lub 2" zostawia puste - ma taką mozliwosc. W SELECT mam warunek WHERE oferta=1 AND TYP=$zmienna.
Jesli jest tak jak wyzej, user pole' TYP' zostawi puste, to w bazie beda szukane rekordy o TYP=' '. W zwiazku z tym ze takich rekordow nie ma nie bede mial nic w wynikach wyszukiwania. A jesli user NIE wypelni pola TYP (zostawi puste) to chcialbym zeby listowala sie cala tabela ze wszystkimi mozliwymi TYPami. Jak to zrobic?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Kocurro
post
Post #2





Grupa: Zarejestrowani
Postów: 461
Pomógł: 32
Dołączył: 17.09.2003
Skąd: Łódź

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


polecam zrobić to tak:

  1. <?
  2.  
  3. $sql = array();
  4. if ( isset( $_POST['pole1']) && ( $_POST['pole1'] != '')) { $sql[] = &#092;"`pole1` = '$pole1'\";}
  5. if ( isset( $_POST['pole2']) && ( $_POST['pole1'] != '')) { $sql[] = &#092;"`pole2` = '$pole2'\";}
  6. if ( isset( $_POST['pole3']) && ( $_POST['pole1'] != '')) { $sql[] = &#092;"`pole3` = '$pole3'\";}
  7. if ( isset( $_POST['pole4']) && ( $_POST['pole1'] != '')) { $sql[] = &#092;"`pole4` = '$pole4'\";}
  8. if ( isset( $_POST['pole5']) && ( $_POST['pole1'] != '')) { $sql[] = &#092;"`pole5` = '$pole5'\";}
  9.  
  10. ... itd ...
  11.  
  12. $sql = implode( ' AND ', $sql);
  13.  
  14. mysql_query( 'SELECT * FROM `cos` WHERE ' . $sql);
  15. ?>


wystarczy Ci to ? czy jeszcze bardziej uprościć (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

pozdrawiam
Go to the top of the page
+Quote Post

Posty w temacie


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: 3.10.2025 - 18:02