Recuperer les valeurs de bouton radio

Grimnar Messages postés 4 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 7 février 2004 - 6 févr. 2004 à 16:01
Grimnar Messages postés 4 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 7 février 2004 - 7 févr. 2004 à 15:43
Bonjour tout le monde.

J'ai un petit souci dans un code ou je dois recuperer les valeurs de boutons radio. apres avoir fais une recherche sur le forum pour voir si le sujet n'avais pas ete traite, j'en suis venu a demander directement de l'aide.

Mon code est divise en plusieurs parties grace a des switch. La premiere partie est le remplissage de formulaires et de selection de divers groupes de boutons radio.

// Boucle pour afficher les 3 bouttons radio par race
echo "Races recherchees :
";
$i = 0;
while($data = mysql_fetch_array($req)) {
$i++;
$r = "brace" . $i;
echo $data['nomrace'];
echo "";
echo "";
echo "
";
}

A ce niveau la j'affiche 3 bouton radio pour chacun des champs d'une table.
A la fin de la section "remplissage du formulaire/boutons" je met une hidden box avec une valeur qui me permet de changer de case apres le submit final (en utilisant comme action=$PHP_SELF)

Lors de ma section enregistrement sur la table a proprement parle, je n'arrive pas a recuperer les valeurs de mes boutons radio. Voici le code que j'utilise :
//Selection de la table races
$sql = 'SELECT nomrace FROM races';
$req = mysql_query($sql) or die ('Probleme de conection avec la table races
'.mysql_error());

// Boucle pour enregistrer chacun des resultat du groupe de boutton
$i = 0;
while($data = mysql_fetch_array($req)) {
$i++;
$r = "race" . $i;
$br = "b" . $r;
$sqlr="UPDATE fiche SET $r='$_post[$br]' WHERE nom='$nom' ";
$reqr = mysql_query($sqlr) or die ('Probleme de conection avec la table fiche pour les boutons des races
'.mysql_error());
}

Mon souci est que $_post[$br] est toujours vide. J'ai essaye de faire afficher les valeurs de $_post[nomdemesboutons] de maniere classique (ie sans boucle) mais le resultat est toujours le meme, mes champs restent vide.

Si quelqu'un a une solution, un produit miracle, ou meme juste un simple constat d'erreur de code/logique, je suis preneur, car cela fait 2 jours que je bute sur ce probleme qui a premiere vue a l'air simple a resoudre.

D'avance, merci.

6 réponses

fmazoue Messages postés 335 Date d'inscription vendredi 14 février 2003 Statut Membre Dernière intervention 1 septembre 2015 1
6 févr. 2004 à 16:55
normalement y a pas besoin d'utiliser $_Post[] car tu doit avoir directement les valeur dans tes variables genre $nomdemesboutons, ou $brace1,...

et as- tu bien positionné tes balises <form> ?

NIARF :-p
0
perig Messages postés 358 Date d'inscription vendredi 1 novembre 2002 Statut Membre Dernière intervention 5 septembre 2006
6 févr. 2004 à 17:57
As-tu vérifié que la "Boucle pour afficher les 3 bouttons radio par race" te crée bien des boutons avec le bon code?
Les boutons peuvent étre la mais pas les bon nom. Pour cela lance le prog et regarde la source généré.
Car je conais mal "echo", moi j'utilise "print" mais pour insérer une valeur dans le text il faut faire
print "toto".$var."toto";
enfin il me semble et toi tu fais
echo "toto $var toto";
je suis pas sure que ca marche mais essay avec
echo "toto".$var."toto";

---Perig---
Pour vous servir 8-)
Et parfois en galère :blush)
Souvent même :)
0
Grimnar Messages postés 4 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 7 février 2004
7 févr. 2004 à 12:15
@Fmazoue : Ouaip mes boutons sont bien la avec les bonnes valeurs/noms.

@Perig : echo "truc $x truc" revient a la meme chose que echo "truc".$x."truc"

Bon alors j'ai bien regarde mon code et l'erreur provient de 3 lignes :

$i++;
$r = "race" . $i;
$br = "$b" . $r;

En prenant le cas ou $i=2 c'est suppose me faire :
$r="race2";
$br="$b"."race2";
> je suis suppose avoir $br$brace2 $brace2 etant le nom d'un de mes bouttons. Le souci c'est que en faisant un
echo "$br"; le resultat a l'ecran est : race2

En gros il ne veut pas me faire l'egalite entre les variables et je ne comprends pas du tout pourquoi. Si quelqu'un a une solution, svp, j'en peux plus de bout de code...
0
perig Messages postés 358 Date d'inscription vendredi 1 novembre 2002 Statut Membre Dernière intervention 5 septembre 2006
7 févr. 2004 à 12:45
et avec
$br="\$b".$r;
ca marche pas mieux?
pour le echo, tu viens de m'aprencre qqch ( c'est pas marqué dans mon manuel) lol

---Perig---
Pour vous servir 8-)
Et parfois en galère :blush)
Souvent même :)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Grimnar Messages postés 4 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 7 février 2004
7 févr. 2004 à 12:53
Nope ca marche pas mieux.

Lorsque je fais :
echo " Valeur du bouton race $i ---- $br";

ca m'affiche :
Valeur du bouton race 1 ---- $brace1
etc...

Je sais pas pq il veut pas comprendre que $br c'est une variable.

Sinon pour le echo, content de t'avoir appris quelque chose. Ca a l'avantage d'alleger un peu le code a la relecture je trouve plutot que d'avoir des ".$x." bla bla".$y."blalbla".$z."blalbabla" partout. (enfin c'est un avis perso :D )
0
Grimnar Messages postés 4 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 7 février 2004
7 févr. 2004 à 15:43
Bon et bien j'ai trouve la solution. PHP ne sait pas interpreter ca tout betement :

$i++;
$r = "race" . $i;
$br = "\$b" . $r;

Dans le cas ou i=1, on aura $br=$brace1 en tant que chaine de caractere et non en tant qu'egalite de variable. C'est bete, mais il faut le savoir.

En tout cas merci pour l'aide.
Grim.
0
Rejoignez-nous