Formulaire contenant des boutons radio

BFH
Eléphant du PHP | 214 Messages

04 mai 2005, 23:24

Bin oui mais mon problème c'est que je veux pas forcément récupérer la valeur du dernier champs, je voudrais recupérer la valeur du champs choisit mais je ne voit pas comment faire...
Tout est transmis :cry:

Il n'y aurait pas moyen de dire:
Si case cliquée alors $P='la valeur de $RUser qui correspond à la ligne choisit'
Sinon on oublie la valeur de $P

Enfin, si y a bien un moyen : je peux mettre la balise <form> dans le while(...) { ici } mais bon il y aurait alors un bouton valider à chaque ligne mais j'ai ps trop envie que ça soit comme ça...[/quote]
Perdu dans la matrice avec un guide michelin ](*,) #-o
Adorateur de Cyrano
Parti puis revenu...

Eléphant du PHP | 219 Messages

05 mai 2005, 00:50

Salut,

voici une idée. Un groupe de bouton radio comme tu as fait et une valeur id qui te donne l'id et le type. A la réception du décode la chaine (avec un explode par exemple)
<TR>
    <TD align="right"  width="20%"><H2>Poste <?=$row2["RUser"];?> : </H2></TD>
    <TD align="center"><H3><font color="#0033CC">Rapport Détaillé </font> <input type="radio" value="<?php echo $row2['ID_R'] . "-D";?>" name="TR"> </H3> </TD>
    <TD align="center"><H3><font color="#0033CC">Rapport Minimal </font> <input type="radio" value="<?php echo $row2['ID_R'] . "-M";?>" name="TR"> </H3> </TD>             
</TR> 
ainsi $_GET['TR'] te fournira une valeur comme 1-D =>id 1 rapport détaillé.
ex :
$resultat = explode("-", $_GET['PHP']);
$id = $reslutat[0];
$type = $resultat[1];
j'espère avoir pu t'aider et ne pas être à côté de la plaque (il est tard!)

a+
daoud

Mammouth du PHP | 19672 Messages

05 mai 2005, 08:17

Ok, alors tu gardes le système de nom de champ dynamique. Si j'ai bien compris, tu as des boutons radio mais aucun n'est coché par défaut, tu risques donc d'avoir des variables non initialisées.

Ensuite, tu veux séparer deux type de traitement. Donc tu dois faire un while.
À chaque tour de boucle while, tu reconstruis les variable avec un pointeur et tu testes l'existence d'une rorrespondance:

Code : Tout sélectionner

for($i = 0;$i <= $_POST['champ_x']; $i++) { /* champ_x doit être le nom d'un champ caché qui a compté les lignes du formulaire */ $bouton_radio_1 = "P".$i; if(isset($_POST['$bouton_radio_1'])) { if($_POST['bouton_radio_1'] = "telle_valeur") { traitement_untel(); } else { traitement_autre(); } } }
Je n'ai mis que le schéma, tu devras construire les noms de champs pour récupérer ce qui correspond, mais tu peux traiter individuellement chaque ligne en fonction de la case sélectionnée et si aucune ne l'a été, tu fais autre chose ou rien et on sort de la boucle pour passer au suivant.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

BFH
Eléphant du PHP | 214 Messages

05 mai 2005, 18:12

Ok merci pour vos bons conseils, je testerai cela demain et je vous dirais ce qui se passe.
Merci a vous
Perdu dans la matrice avec un guide michelin ](*,) #-o
Adorateur de Cyrano
Parti puis revenu...

BFH
Eléphant du PHP | 214 Messages

06 mai 2005, 09:39

J'ai trouvé la solution en fait. Mon problème c'était :
http://127.0.0.1/PHP/Rapport3.php? P0=1 &TR0=FAUX& P1=2 &nb_lignes=2&Submit=Afficher+le+Rapport
OU
http://127.0.0.1/PHP/Rapport3.php?P0=1&P1=2&TR1=FAUX&nb_lignes=2&Submit=Afficher+le+Rapport
Bref, quoi que je choisisse il y avait toujours X valeur de P transmisent (X étant le nombre de rapport disponibles à la selection! Cependant comme vous pouvez le constater a chaque fois je n'avais qu'un seul TR= donc avec le code
<TD width="3%" valign="center">&nbsp;</TD>
<TD align="center" valign="center"><font color="#0033CC" size="4">Rapport Détaillé </font><input type="radio" value="[b]VRAI<?=$row2['ID_R'];?>[/b]" name="TR<?=$i;?>"></font></TD>
<TD align="center"><font color="#0033CC" size="4">Rapport Minimal </font><input type="radio" value="[b]FAUX<?=$row2['ID_R'];?>[/b]" name="TR"></font></TD>
<TD width="5%">&nbsp;<p></TD>
Je transmet à la fois labonne valeur de TR c'est a dire VRAI ou FAUX mais aussi le bon ID_R :D

Que je suis content d'avir trouvé ça!

Grâce a vous bien sûr et en particulier grace a toi Cyrano!
Si tu m'avais pas dit de faire
<TD width="5%"><INPUT TYPE="hidden" VALUE="<?=$row2['ID_R'];?>" Name="P<?=$i?>"></TD> //Ce qui est important est ici ! 
    <TD align="center"><H3><font color="#0033CC">Rapport Détaillé </font> <input type="radio" value="VRAI" name="TR<?=$i?>"> </H3> </TD> 
    <TD align="center"><H3><font color="#0033CC">Rapport Minimal </font> <input type="radio" value="FAUX" name="TR<?=$i?>"> </H3> </TD> 
J'y serai encore =D> =D> =D> =D> =D> =D> =D>
Perdu dans la matrice avec un guide michelin ](*,) #-o
Adorateur de Cyrano
Parti puis revenu...