Formulaire php
DAG
-
DAG -
DAG -
Bonjour,
Je suis en train de développer une application en PHP dans laquelle j'affiche un tableau. Dans ce tableau je dresse une liste des utilisateurs selon un certain critère.
Je souhaite que celui qui manipulera le site web puisse appliquer ou pas une modification pour chacun des utilisateurs listés dans le tableau.
Je créé donc ma requête qui va sélectionner les utilisateurs que je veux.
Je la parcourt dans un "while" en créant pour chaque entrée une ligne de tableau et un formulaire dans lequel je garde en mémoire l'ID de l'utilisateur concerné ainsi que le choix fait par l'utilisateur.
J'affiche donc dans chaque ligne du tableau : un nom, un prénom, un radio bouton (oui) un radio bouton (non) et un bouton ok.
Actuellement il faut donc modifier les lignes une par une pour appliquer les modifs aux utilisateurs listés...
Le truc, c'est qu'il y a plus de 5000 utilisateurs !! Alors bien que j'impose plusieurs condition lorsque je liste les utilisateur dans mon tableau, j'arrive souvent à plus de 100 utilisateur listés...
Je souhaiterais que celui qui utilise le site puisse cocher les radio boutons (oui) ou (non) pour chaque utilisateurs puis valider le tout en cliquant sur un bouton Ok en bas du tableau.
Ainsi toutes les lignes serons traités en même temps.
Je ne vois pas comment traiter toutes les requêtes de modif d'un seul coup ? Comment garder en mémoires toutes les valeurs des champs du tableau ?
Est-ce que quelqu'un pourrais m'aider en me donnant la marche à suivre ?
Je suis en train de développer une application en PHP dans laquelle j'affiche un tableau. Dans ce tableau je dresse une liste des utilisateurs selon un certain critère.
Je souhaite que celui qui manipulera le site web puisse appliquer ou pas une modification pour chacun des utilisateurs listés dans le tableau.
Je créé donc ma requête qui va sélectionner les utilisateurs que je veux.
Je la parcourt dans un "while" en créant pour chaque entrée une ligne de tableau et un formulaire dans lequel je garde en mémoire l'ID de l'utilisateur concerné ainsi que le choix fait par l'utilisateur.
J'affiche donc dans chaque ligne du tableau : un nom, un prénom, un radio bouton (oui) un radio bouton (non) et un bouton ok.
Actuellement il faut donc modifier les lignes une par une pour appliquer les modifs aux utilisateurs listés...
Le truc, c'est qu'il y a plus de 5000 utilisateurs !! Alors bien que j'impose plusieurs condition lorsque je liste les utilisateur dans mon tableau, j'arrive souvent à plus de 100 utilisateur listés...
Je souhaiterais que celui qui utilise le site puisse cocher les radio boutons (oui) ou (non) pour chaque utilisateurs puis valider le tout en cliquant sur un bouton Ok en bas du tableau.
Ainsi toutes les lignes serons traités en même temps.
Je ne vois pas comment traiter toutes les requêtes de modif d'un seul coup ? Comment garder en mémoires toutes les valeurs des champs du tableau ?
Est-ce que quelqu'un pourrais m'aider en me donnant la marche à suivre ?
A voir également:
- Formulaire php
- Whatsapp formulaire opposition - Guide
- Formulaire de réclamation facebook - Guide
- Formulaire de reclamation instagram - Guide
- Easy php - Télécharger - Divers Web & Internet
- Confirmer le nouvel envoi du formulaire err_cache_miss - Forum Webmastering
4 réponses
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>"; } } }