Problème de récupération checkboxes
Résolu
lolo-viuz
Messages postés
7
Date d'inscription
Statut
Membre
Dernière intervention
-
sacrelolo -
sacrelolo -
Bonjour à tous !
Je n'arrive pas à récupérer des valeurs de checkboxes.
- La syntaxe des checkboxes est correcte (j'ai bien vérifié sur la FAQ et le forum)
- C'est au niveau de la récupération que ça coince. Faut-il faire une boucle ?
- 2 ème problème: le script ne prend que le cas par défaut.
Le code:
//---------------------Les checkboxes-------------------------
<!-- Filtrage groupements (ministeres,agences, reseaux...) -->
<form name="filtrage" method="POST" action="recherche-entreprises-pays.php">
<input TYPE="checkbox" NAME="choix[]" VALUE="9"><? echo TXT_OI;?></input><br />
<input TYPE="checkbox" NAME="choix[]"VALUE="10"><? echo TXT_ONG;?></input><br />
<input TYPE="checkbox" NAME="choix[]"VALUE="1"><? echo TXT_MINISTERE;?></input><br />
<input TYPE="checkbox" NAME="choix[]"VALUE="2"><? echo TXT_DIRECTION_ENVIR;?></input><br />
<input type="submit" value="OK">
<input type="reset" value="Effacer">
</form>
<!-- -----------------------Fin----------------------------------- -->
<!-- Filtrage autres (particuliers, independants...) -->
<form name="filtrage2" method="POST" action="recherche-entreprises-pays.php">
<input NAME="choix2" TYPE="radio" VALUE="12"><? echo TXT_PARTICULIER;?></input><br />
<input NAME="choix2" TYPE="radio" VALUE="13"><? echo TXT_INDEPENDANT;?></input><br />
<input type="submit" name="filtrage2" value="OK">
<input type="reset" value="Effacer">
</form>
<?
//---------------choix 1-------------------------
if (isset($choix))
{
$edit= 'Groupements';
$choix = $_POST['choix'];
$select = 'fr_groupmt_profil.id,fr_groupmt_profil.pays';
$select_from = 'fr_groupmt_profil';
$where = 'fr_groupmt_profil.pays';
}
//-------------choix 2---------------------------
else if (isset($_POST ['$filtrage2']))
{
$edit= 'autres';
$filter= $_POST["filtrage2"];
$select = 'fr_particulier_profil.id,fr_particulier_profil.pays';
$select_from = 'fr_particulier_profil';
$where = 'fr_particulier_profil.pays';
}
//-----------par défaut---------------------------
else
{
$edit= 'Entreprises';
$filter= 'entrepr';
$select = 'fr_entrepr_profil.id,fr_entrepr_profil.pays';
$select_from = 'fr_entrepr_profil';
$where = 'fr_entrepr_profil.pays';
}
//----------------------------Sélection des affichages-----------------------------
//Allemagne
$sql="SELECT $select FROM $select_from WHERE $where = 'de'";
$result1 = mysql_query($sql,$link) or die ('Erreur : '.mysql_error() );
$pays1=mysql_numrows($result1);
?>
etc etc...
Merci de votre aide !
Je n'arrive pas à récupérer des valeurs de checkboxes.
- La syntaxe des checkboxes est correcte (j'ai bien vérifié sur la FAQ et le forum)
- C'est au niveau de la récupération que ça coince. Faut-il faire une boucle ?
- 2 ème problème: le script ne prend que le cas par défaut.
Le code:
//---------------------Les checkboxes-------------------------
<!-- Filtrage groupements (ministeres,agences, reseaux...) -->
<form name="filtrage" method="POST" action="recherche-entreprises-pays.php">
<input TYPE="checkbox" NAME="choix[]" VALUE="9"><? echo TXT_OI;?></input><br />
<input TYPE="checkbox" NAME="choix[]"VALUE="10"><? echo TXT_ONG;?></input><br />
<input TYPE="checkbox" NAME="choix[]"VALUE="1"><? echo TXT_MINISTERE;?></input><br />
<input TYPE="checkbox" NAME="choix[]"VALUE="2"><? echo TXT_DIRECTION_ENVIR;?></input><br />
<input type="submit" value="OK">
<input type="reset" value="Effacer">
</form>
<!-- -----------------------Fin----------------------------------- -->
<!-- Filtrage autres (particuliers, independants...) -->
<form name="filtrage2" method="POST" action="recherche-entreprises-pays.php">
<input NAME="choix2" TYPE="radio" VALUE="12"><? echo TXT_PARTICULIER;?></input><br />
<input NAME="choix2" TYPE="radio" VALUE="13"><? echo TXT_INDEPENDANT;?></input><br />
<input type="submit" name="filtrage2" value="OK">
<input type="reset" value="Effacer">
</form>
<?
//---------------choix 1-------------------------
if (isset($choix))
{
$edit= 'Groupements';
$choix = $_POST['choix'];
$select = 'fr_groupmt_profil.id,fr_groupmt_profil.pays';
$select_from = 'fr_groupmt_profil';
$where = 'fr_groupmt_profil.pays';
}
//-------------choix 2---------------------------
else if (isset($_POST ['$filtrage2']))
{
$edit= 'autres';
$filter= $_POST["filtrage2"];
$select = 'fr_particulier_profil.id,fr_particulier_profil.pays';
$select_from = 'fr_particulier_profil';
$where = 'fr_particulier_profil.pays';
}
//-----------par défaut---------------------------
else
{
$edit= 'Entreprises';
$filter= 'entrepr';
$select = 'fr_entrepr_profil.id,fr_entrepr_profil.pays';
$select_from = 'fr_entrepr_profil';
$where = 'fr_entrepr_profil.pays';
}
//----------------------------Sélection des affichages-----------------------------
//Allemagne
$sql="SELECT $select FROM $select_from WHERE $where = 'de'";
$result1 = mysql_query($sql,$link) or die ('Erreur : '.mysql_error() );
$pays1=mysql_numrows($result1);
?>
etc etc...
Merci de votre aide !
A voir également:
- Problème de récupération checkboxes
- Récupération de déchets - Guide
- Convertisseur récupération de texte - Guide
- Recuperation video youtube - Guide
- Impossible de récupérer mon compte gmail - Guide
- Récupération message whatsapp - Guide
2 réponses
Pour les checkbox, la valeur retournée par choix[] est un array des cases cochées, donc tu dois le parcourir pour avoir les valeurs des cases cochées
de plus:
<?
//---------------choix 1-------------------------
if (isset($choix))
{
$edit= 'Groupements';
$choix = $_POST['choix'];
$select = 'fr_groupmt_profil.id,fr_groupmt_profil.pays';
$select_from = 'fr_groupmt_profil';
$where = 'fr_groupmt_profil.pays';
}
//-------------choix 2---------------------------
else if (isset($_POST ['$filtrage2']))
{
$edit= 'autres';
$filter= $_POST["filtrage2"];
$select = 'fr_particulier_profil.id,fr_particulier_profil.pays';
$select_from = 'fr_particulier_profil';
$where = 'fr_particulier_profil.pays';
}
//-----------par défaut---------------------------
else
{
$edit= 'Entreprises';
$filter= 'entrepr';
$select = 'fr_entrepr_profil.id,fr_entrepr_profil.pays';
$select_from = 'fr_entrepr_profil';
$where = 'fr_entrepr_profil.pays';
}
Tu dois récupérer les valeurs postées par $_POST['choix'] car si tu as RegisterGlobal à of dans le php.ini , ça ne marche pas avec $choix directement
Donc mets :
de plus:
<?
//---------------choix 1-------------------------
if (isset($choix))
{
$edit= 'Groupements';
$choix = $_POST['choix'];
$select = 'fr_groupmt_profil.id,fr_groupmt_profil.pays';
$select_from = 'fr_groupmt_profil';
$where = 'fr_groupmt_profil.pays';
}
//-------------choix 2---------------------------
else if (isset($_POST ['$filtrage2']))
{
$edit= 'autres';
$filter= $_POST["filtrage2"];
$select = 'fr_particulier_profil.id,fr_particulier_profil.pays';
$select_from = 'fr_particulier_profil';
$where = 'fr_particulier_profil.pays';
}
//-----------par défaut---------------------------
else
{
$edit= 'Entreprises';
$filter= 'entrepr';
$select = 'fr_entrepr_profil.id,fr_entrepr_profil.pays';
$select_from = 'fr_entrepr_profil';
$where = 'fr_entrepr_profil.pays';
}
Tu dois récupérer les valeurs postées par $_POST['choix'] car si tu as RegisterGlobal à of dans le php.ini , ça ne marche pas avec $choix directement
Donc mets :
if (isset($_POST['choix']))à la place de if (isset($choix))