A voir également:
- Formulaire php
- Alert php ✓ - Forum PHP
- Formulaire de réclamation facebook - Guide
- Alias du formulaire - Forum Programmation
- Header php - Astuces et Solutions
- Undefined index php - Astuces et Solutions
4 réponses
Mimiste
Messages postés
1149
Date d'inscription
samedi 17 mai 2008
Statut
Membre
Dernière intervention
6 mars 2016
208
18 sept. 2008 à 16:03
18 sept. 2008 à 16:03
Bonjour
Il faudrai n'utiliser qu'un seul formulaire
Chaques groupe de bouton radio porterai comme name l'ID de l'utilisateur
en validant on envoi le formulaire (donc les 100 boutons radio) à la page PHP qui va effectuer le traitement
Sur cette page PHP tu est capable de boucler sur les valeurs grace à un :
foreach($_POST as $nom=>$valeur) {
echo $nom //affiche l'id de l'utilisateur (qui etait le nom du groupe de bouton radio)
echo $valeur //qui est la valeur du groupe de bouton radio
}
voila donc dans cette boucle tu peux faire ta requete d'Update
Il faudrai n'utiliser qu'un seul formulaire
Chaques groupe de bouton radio porterai comme name l'ID de l'utilisateur
en validant on envoi le formulaire (donc les 100 boutons radio) à la page PHP qui va effectuer le traitement
Sur cette page PHP tu est capable de boucler sur les valeurs grace à un :
foreach($_POST as $nom=>$valeur) {
echo $nom //affiche l'id de l'utilisateur (qui etait le nom du groupe de bouton radio)
echo $valeur //qui est la valeur du groupe de bouton radio
}
voila donc dans cette boucle tu peux faire ta requete d'Update
ça marche comme tu m'a dis de faire, mais j'ai encore un peu de mal...
Voici le code qui affiche le tableau :
Et voici le code qui traite le résultat :
Et ça m'affiche (si je ne valide qu'une seule personne par exemple) :
En fait tableau affiche le nom de la personne, le prenom, son adresse email, et son adresse email modifiée. Et enfin les deux radio boutons.
On voit bien que ça transmet par POST :
- l'ID -> ok
- la valeur du radio bouton -> ok
Je peux donc faire mes test du genre :
- si le radio bouton vaut "accept" alors...
- si le radio bouton vaut "refuse' alors....
Mais j'aimerais récupérer aussi la valeur de l'email et la valeur de l'email modifié...
C'est ce que j'ai essayé de faire avec : $dataEight[mail_perso_curr_OD] name="hiddenMailPersoThree
Mais les email récupérés ne correspondent pas... Et en plus il me renvois le bouton valider aussi (bon ça je peux le traiter par la suite).
Si quelqu'un a une idée ?
Voici le code qui affiche le tableau :
<table width="400" border="1" cellpadding="1" cellspacing="0">
<caption><strong>Emails personnels</strong></caption>
<tr align="center" bgcolor="#328dc9">
<th>Nom</th>
<th>Prenom</th>
<th>Ancien</th>
<th>Nouveau</th>
<th>Accepter</th>
<th>Refuser</th>
</tr>
<?php
echo "<form action=\"warning_OD.php\" method=\"post\" enctype=\"multipart/form-data\" name=\"form8\">";
while($dataEight = mysql_fetch_array($reqEight))
{
echo "<tr>";
echo "<td style=\"font-size: 10px;\">$dataEight[nom_OD]</td>";
echo "<td style=\"font-size: 10px;\">$dataEight[prenom_OD]</td>";
echo "<td style=\"font-size: 10px;\">$dataEight[mail_perso_curr_OD]</td>";
echo "<td style=\"font-size: 10px;\">$dataEight[mail_perso_next_OD]</td>";
echo "<td><center><input type=\"radio\" name=\"$dataEight[ID]\" value=accept></center></td>";
echo "<td><center><input type=\"radio\" name=\"$dataEight[ID]\" value=refuse></center></td>";
echo "<input type=\"hidden\" value=\"$dataEight[mail_perso_curr_OD]\" name=\"hiddenMailPersoThree\">";
echo "<input type=\"hidden\" value=\"$dataEight[mail_perso_next_OD]\" name=\"hiddenMailPersoFour\">";
echo "</tr>";
}
echo "</table>";
echo "<td><center><input type=\"submit\" name=\"Submit\" value=\"Ok\"></center></td>";
echo "</form>";
?>
Et voici le code qui traite le résultat :
foreach($_POST AS $key=>$value)
{
echo "\$key = " . $key . "<br>";
echo "\$value = " . $value . "<br>";
}
Et ça m'affiche (si je ne valide qu'une seule personne par exemple) :
$key = 202 $value = accept $key = hiddenMailPersoThree $value = toto.titi@truc.fr $key = hiddenMailPersoFour $value = toto.tata@truc.com $key = Submit $value = Ok
En fait tableau affiche le nom de la personne, le prenom, son adresse email, et son adresse email modifiée. Et enfin les deux radio boutons.
On voit bien que ça transmet par POST :
- l'ID -> ok
- la valeur du radio bouton -> ok
Je peux donc faire mes test du genre :
- si le radio bouton vaut "accept" alors...
- si le radio bouton vaut "refuse' alors....
Mais j'aimerais récupérer aussi la valeur de l'email et la valeur de l'email modifié...
C'est ce que j'ai essayé de faire avec : $dataEight[mail_perso_curr_OD] name="hiddenMailPersoThree
Mais les email récupérés ne correspondent pas... Et en plus il me renvois le bouton valider aussi (bon ça je peux le traiter par la suite).
Si quelqu'un a une idée ?
Je me répond, c'était simple en fait... Comme je récupère l'ID, je peux tout faire !
Voici le code pour ceux que ça intéresse :
Le tableau :
Et le traitement :
Voici le code pour ceux que ça intéresse :
Le tableau :
<?php
$statementEight = "
SELECT
date_modif_od.ID_OD,
date_modif_od.mail_perso_curr_OD,
date_modif_od.mail_perso_next_OD,
ouvrant_droit.ID,
ouvrant_droit.nom_OD,
ouvrant_droit.prenom_OD
FROM
ouvrant_droit
INNER JOIN
date_modif_od
ON
(
date_modif_od.ID_OD=ouvrant_droit.ID
);
";
$reqEight = mysql_query($statementEight) or die('<br>Erreur base de donnée !<br>' . $statementEight . '<br>'.mysql_error());
?>
<h3>Voici les différences relvées entre le/les fichiers rentrés et les données déjà présentes dans la base de référence :</h3>
<br>
<h4></h4>
<table width="400" border="1" cellpadding="1" cellspacing="0">
<caption><strong>Emails personnels</strong></caption>
<tr align="center" bgcolor="#328dc9">
<th>Nom</th>
<th>Prenom</th>
<th>Ancien</th>
<th>Nouveau</th>
<th>Accepter</th>
<th>Refuser</th>
<!--<th>Valider</th>-->
</tr>
<?php
echo "<form action=\"warning_OD.php\" method=\"post\" enctype=\"multipart/form-data\" name=\"form8\">";
while($dataEight = mysql_fetch_array($reqEight))
{
if(empty($dataEight[mail_perso_curr_OD]) && empty($dataEight[mail_perso_next_OD]))
{
continue;
}
else
{
echo "<tr>";
echo "<td style=\"font-size: 10px;\">$dataEight[nom_OD]</td>";
echo "<td style=\"font-size: 10px;\">$dataEight[prenom_OD]</td>";
echo "<td style=\"font-size: 10px;\">$dataEight[mail_perso_curr_OD]</td>";
echo "<td style=\"font-size: 10px;\">$dataEight[mail_perso_next_OD]</td>";
echo "<td><center><input type=\"radio\" name=\"$dataEight[ID]\" value=accept></center></td>";
echo "<td><center><input type=\"radio\" name=\"$dataEight[ID]\" value=refuse></center></td>";
echo "</tr>";
}
}
echo "</table>";
echo "<td><center><input type=\"submit\" name=\"Submit\" value=\"Ok\"></center></td>";
echo "</form>";
Et le traitement :
foreach($_POST AS $key=>$value)
{
//echo "\$key = " . $key . "<br>";
//echo "\$value = " . $value . "<br>";
if($value == 'accepte')
{
echo "accepte<br>";
$statementOne = "SELECT t1.mail_perso_curr_OD, t1.mail_perso_next_OD, t2.nom_OD, t2.prenom_OD
FROM date_modif_od AS t1 INNER JOIN ouvrant_droit AS t2
WHERE (t1.ID_OD = '" . $key . "' AND t2.ID = '" . $key . "');";
$reqOne = mysql_query($statementOne) or die('<br>Erreur base de donnée !<br>' . $statementOne . '<br>'.mysql_error());
while($data = mysql_fetch_array($reqOne))
{
echo $data[mail_perso_curr_OD] . " - " . $data[mail_perso_next_OD] . " - " . $data[nom_OD] . " - " . $data[prenom_OD] . "<br><br>";
}
}
elseif($value == 'refuse')
{
echo "refuse<br>";
$statementOne = "SELECT t1.mail_perso_curr_OD, t1.mail_perso_next_OD, t2.nom_OD, t2.prenom_OD
FROM date_modif_od AS t1 INNER JOIN ouvrant_droit AS t2
WHERE (t1.ID_OD = '" . $key . "' AND t2.ID = '" . $key . "');";
$reqOne = mysql_query($statementOne) or die('<br>Erreur base de donnée !<br>' . $statementOne . '<br>'.mysql_error());
while($data = mysql_fetch_array($reqOne))
{
echo $data[mail_perso_curr_OD] . " - " . $data[mail_perso_next_OD] . " - " . $data[nom_OD] . " - " . $data[prenom_OD] . "<br>";
}
}
}