formulaire modification de plusieurs valeurs d'un coup

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : formulaire modification de plusieurs valeurs d'un coup

Re: formulaire modification de plusieurs valeurs d'un coup

par moogli » 09 juin 2011, 18:27

echo '<input type="radio" name="namev2[]" value="0" CHECKED> toto<br>';
pareil pour le reste :)

pour le traitement c'est mis plus haut ;)


@+

Re: formulaire modification de plusieurs valeurs d'un coup

par olivierg » 09 juin 2011, 17:22

ahh donc on utilise des tableaux multidimensionnels dans les noms de champs ?

je comprend mieux, merci pour l'info

si quelqu'un a un exemple ça m'arrangerait, mais je devrais pouvoir me débrouiller déjà avec cette info, thanks !

Re: formulaire modification de plusieurs valeurs d'un coup

par Mazarini » 08 juin 2011, 14:53

Bonjour,

Pour ce genre de problème on utilise des noms de champ de type champ[] dans les inputs html.
Cela permet de traiter le retour du formulaire avec des $_POST['champ'][$i]

Re: formulaire modification de plusieurs valeurs d'un coup

par olivierg » 08 juin 2011, 14:46

personne n'aurait une petite idée par hasard ?

formulaire modification de plusieurs valeurs d'un coup

par olivierg » 07 juin 2011, 15:09

Bonjour,

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 :

Image

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
code pour la génération du formulaire (ce n'est pas parfait avec tous ces echos, c'est simplement pour illustrer rapidement le soucis)
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 clairement
peut-être serait-il plus simple d'utiliser des checkbox ? et/ou des tableaux ?