Checkbox multiples et select liés

evildeadtchat Messages postés 4 Date d'inscription mercredi 12 novembre 2008 Statut Membre Dernière intervention 21 septembre 2012 - 21 sept. 2012 à 02:29
evildeadtchat Messages postés 4 Date d'inscription mercredi 12 novembre 2008 Statut Membre Dernière intervention 21 septembre 2012 - 21 sept. 2012 à 02:33
Bonjour à toutes et tous
Le problème est le suivant :
Je récupère des données de ma base MySql que j'affiche ensuite.
A chaque élément affiché j'ajoute un CHECKBOX puis un SELECT avec plusieurs OPTION.
Au sortir de ma boucle je mets un bouton SUBMIT.
Vous l'aurez compris :
Je veux sélectionner 1,2 ou plusieurs CHECBOX et à chacun mettre une valeur de SELECT (même valeur ou différente selon la ligne).
Puis récupérer la paire CHECKBOX => SELECT OPTION pour toutes les lignes où le CHECKBOX a été coché pour mettre la BDD à jour.

Voici les codes de la page d'affichage :


<form action="traitement.php" method="post" target="_blank">
Date,
Message,
Afficher,
Priorité,

<?php
$req=mysql_query(\"SELECT * FROM matable\");
while($result=mysql_fetch_array($req))
{
echo '
----

'.$result['date'].', '.$result['message'].'</td>
'.$result['afficher'].',
<select name="priorite[]">
<option value="0">par défaut</option>
<option value="1">urgent</option>
<option value="2">dans les 24H</option>
<option value="3">dans la semaine</option>
</select>,
';
}
?>

 ----

Pour la selection :
<select name="action">
<option value="del">Supprimer</option>
<option value="hide">Cacher</option>
<option value="show">Afficher</option>
<option value="priotite">Définir Priorité</option>
</select>


</form>


et le code de la page de traitement :

<?php
require('connect.inc');
if(isset($_POST['action']))
{
switch($_POST['action'])
{
case 'del':
blabla
break;
case 'hide':
blabla
break;
case 'show':
blabla
break;
case 'priorite':
for ($i=0;$i<count($_POST['coche']);$i++)
{
$selected=$_POST['coche'][$i]; // jusque là tout fonctionne bien ^^
// * Partie qui me pose problème * /
/**/	$montant=$_POST['montant'][$selected];
/**/	echo 'remsie de '.$montant.' pour id= '.$selected.'
';
// ***************************** */
}
break;
}
}
?>

Les résultat affichés à la page de traitement sont complètement chaotiques.
Si quelqu'un connait la solution, je lui en serai gré
En attendant je vais continuer à chercher sur gogleu

1 réponse

evildeadtchat Messages postés 4 Date d'inscription mercredi 12 novembre 2008 Statut Membre Dernière intervention 21 septembre 2012
21 sept. 2012 à 02:33
Re : petite erreur dans mon script ^^
// * Partie qui me pose problème * /
/**/	$montant=$_POST['montant'][$selected];
/**/	echo 'remsie de '.$montant.' pour id= '.$selected.'
';
// ***************************** */

est à remplacer par
// * Partie qui me pose problème * /
/**/	$priorite=$_POST['montant'][$i];
/**/	echo 'priorite de '.$priorite.' pour id= '.$selected.'
';
// ***************************** */

Encore désolé ^^
0
Rejoignez-nous