J'ai une question à propos d'un soucis de formulaire dans une boucle, ça parraît "simple" mais je n'arrive malgré tout pas à savoir comment faire.
Mon problème est le suivant : j'ai un listing d'une table et de champs que je récupère dans une base MySQL
j'aimerais modifier plusieurs champs d'un coup pour les entrées de ce listing grâce, par exemple, à des boutons de type radio.
et donc un seul bouton modifier en bas de la page.
exemple en screen :
exemple ici (j'ai mis un exemple tout bête pour illustrer mon soucis, ma base réelle étant bien plus complexe) :
on prend l'exemple d'une base comme ça :
Code : Tout sélectionner
nom valeur2
nom01 toto
nom02 tata
nom03 toto
nomN toto
nomAleatoire tata
echo '<table border=1>';
echo '<form method="post" action="page.php">';
$requete_listing = 'select * from table';
$exec_req = mysql_query($requete_listing);
while($data = mysql_fetch_assoc($exec_req)) {
echo '<tr>';
echo '<td>';
echo $data['valeur1'];
echo '<input type="hidden" name="namev1" value="'.$data['valeur1'].'">'
echo '</td>';
echo '<td>';
if ($data['valeur2'] == "toto") {
echo '<input type="radio" name="namev2" value="toto" CHECKED> toto<br>'; // erreur volontaire ici avec le name, voir plus bas
echo '<input type="radio" name="namev2" value="tata"> tata ';
} else {
echo '<input type="radio" name="namev2" value="toto"> toto<br>';
echo '<input type="radio" name="namev2" value="tata" CHECKED> tata ';
}
echo '</td>';
echo '</tr>';
}
echo '<tr>';
echo '<td colspan=2 align="center">';
echo '<input type="hidden" name="commented" value="set">';
echo '<input type="submit" name="submit" value="valider">';
echo '</td>';
echo '</tr>';
echo '</form>';
echo '</table>';
seulement ici, dans l'input, le "name" est toujours le même dans tous les cas.j'ai donc testé de générer une variable "dynamique" si je puis dire, qui fonctionne comme ça (je met simplement le "contenu" du premier champ dans le nom de variable afin que celui-ci soit unique.. mais ce n'est peut-être pas la meilleure solution lol) :
echo '<input type="radio" name="namev2_'.$data['valeur1'].'" value="0" CHECKED> toto<br>';
qui me fera des variables dynamiques comme : "namev2_nom01", "namev2_nom02" etc..pareil pour namev1.
mon soucis est donc le suivant : comment récupérer ces variables après ? (et surtout, est-ce la bonne méthode ?? j'imagine qu'il y a plus propre non ? ou surtout plus simple ?. je fais peut-être n'importe comment..)
pour la validation de mon formulaire (en haut de ma page par ex), j'essaye donc de récupérer les variables, mais comment faire ? (sachant que je ne connais PAS le contenu de la fin de la variable générée toute seule, et donc je ne connais pas le nom complet de la variable)
// si le formulaire est rempli
if (isset($_POST['commented']) == "set") {
// je recupere les variables
-> c'est ici que ca coince.. comment récupérer les variables générées dynamiquement, afin de regénérer une boucle pour effectuer mes modifications en base
(UPDATE table SET namev2="truc" WHERE namev1="namev1_MACHIN" xN)
}
voilà, j'espère que je m'explique clairementpeut-être serait-il plus simple d'utiliser des checkbox ? et/ou des tableaux ?