Verifier formulaire avec checkbox

Signaler
Messages postés
116
Date d'inscription
mardi 28 novembre 2006
Statut
Membre
Dernière intervention
10 mars 2009
-
Messages postés
116
Date d'inscription
mardi 28 novembre 2006
Statut
Membre
Dernière intervention
10 mars 2009
-
Bonjour à tous,

Voila mon problème, j'ai un formulaire de recherche pour une assurance à faire, or dans les critère on trouve des checkbox pour le type de bien (villa, appartement...) mais je n'arrive pas a recuperer les champs cochés pour effectuer ma recherche dans ma bdd.

Voici ma partie de code concernant les checkbox:
<tr>
    
    <td colspan="7">Type de biens :</td>
  </tr>
  <form action="<?php $_SERVER['PHP_SELF']; ?>" method="post">
  <tr>
    <td colspan="7">&amp;nbsp;</td>
  </tr>
  <tr>
    <td align="right"></td>
 <td width="5"></td>
 <td width="102">Appartement</td>
 <td width="66"></td>
    <td align="right"></td>
 <td width="5"></td>
 <td width="161">Terrain</td>
    </tr>
  <tr>
    <td colspan="4">&amp;nbsp;</td>
  </tr>
  <tr>
    <td align="right"></td>
 <td width="5"></td>
 <td width="102">Villa</td>
 <td width="66"></td>
 <td align="right"></td>
 <td width="5"></td>
 <td width="161">Divers</td>
  </tr>


Sur le code ci-dessu j'ai mis comme valeur et name a chaque checkbox: type1 valeur=1, type2 valeur=2... mais a la base j'avais mis type comme name pour toutes les checkbox et comme valeur le type de bien (name=type value=villa, name=type value=appartement..)
qu'est se qui est le mieu???
merci d'avance a l'aide que vous pourriez m'apporter

3 réponses

Messages postés
116
Date d'inscription
mardi 28 novembre 2006
Statut
Membre
Dernière intervention
10 mars 2009

J'ai oublié de preciser, les reponse données par les checkbox vont etre rajouter à une requete qui commence de la sorte:

$query="SELECT * from ma_table WHERE ";
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
21
Hello,

une case à cocher n'existe que si elle est cochée. Donc si tu as mis une valeur de 4, tu auras $_POST['ma_case_a_cocher'] === '4' si elle est cochée, et !isset($_POST['ma_case_a_cocher'] ) si elle ne l'est pas.
Messages postés
116
Date d'inscription
mardi 28 novembre 2006
Statut
Membre
Dernière intervention
10 mars 2009

Je viens de trouver une solution à mon problème grace au IN en sql voici ma solution qui marche pour moi tres bien:

$query= "SELECT * FROM biens WHERE ";
if (!empty($type1) || !empty($type2) || !empty($type3) || !empty($type4)) {
 $query .="biens_type IN (";
 if(isset($type1) && !empty($type1))  {
     $query .="'appartement',";
 } else {
 $query .="'',";
 }
 if(isset($type2) && !empty($type2))  {
     $query .="'terrain',";
 } else {
 $query .="'',";
 }
 if(isset($type3) && !empty($type3))  {
     $query .="'villa',";
 } else {
 $query .="'',";
 }
 if(isset($type4) && !empty($type4))  {
     $query .="'divers'";
 } else {
 $query .="''";
 }
 $query .=")";
}

Merci quand meme a tous