Variable dans un _POST

Résolu
cs_joebuz Messages postés 321 Date d'inscription samedi 12 février 2005 Statut Membre Dernière intervention 21 février 2013 - 14 juil. 2008 à 14:02
nicomilville Messages postés 3472 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 28 février 2014 - 14 juil. 2008 à 16:57
salut,

voici mon probleme, pour mon admin j'ai fait un formulaire pour gestion de stock.
Pour chaque produit A il ya X références (de 20 à 80 environ).
j'ai d'abord un affichage de tout mes produits A, puis je clique sur celui qui m'interesse pour avoir la liste des références.
Là, j'ai fait un formulaire où toutes les références apparaissent (pour le produit choisi) avec une case à cocher (checkbox), pour ajouter ou non la ref au stock.

j'ai procéder comme ceci :

MON FORMULAIRE

echo "<form method= 'post' action='admin.php?id=9311'>
       \";

 $sql10 = mysql_query(\"SELECT * FROM Ma_table WHERE id_produit='$id_produit' ORDER BY Ref ASC\");
  while($data10 = mysql_fetch_array($sql10)){
  $ref_u = $data10['Ref];
  $def_u = $data10['Definition'];
  $pts_u = $data10['Pts'];
  $img_u = $data10['Img'];
  $id_ref = $data10['id_ref];

 

     echo \"----
, ".$ref_u."
".$def_u.", ".$pts_u." , <td> \";
     }
 echo "
</form>";

MON SCRIPT

$i =0;
$nb_ref2 = $nb_ref + 1;  // nb de ref recensées pour le produit + 1

for ($i=1; $i<$nb_ref2; $i++)
  {
  $a = $_POST['ref_".$i."'];





   if($a == 'ok'){
   echo "ref n°".$i." : OK
";
   $sql = mysql_query("INSERT INTO Ma_table_2 VALUES('','$id_membre','$i','$id_produit','')");
   }
   else{
   echo "ref n°".$i." : NOK
";
   }
  }

LE PROBLEME

il semblerait que   $a = $_POST['ref_".$i."'];  ne passe pas, apparemment on ne peux pas mettre de variable dans un _POST ??

j'ai fais ça comme ça, car comme tout mes produits non pas le meme nombre de ref et qu'il y en a bcp, je voulais faire un truc généraliste où mes checkbox se nomme :

ref_1
ref_2
ref_3 ...

qqn a-t-il une idée svp !?

9 réponses

cs_joebuz Messages postés 321 Date d'inscription samedi 12 février 2005 Statut Membre Dernière intervention 21 février 2013
14 juil. 2008 à 16:54
c'est bon j'ai trouvé :-)))

$i= 0;
$nb_ref2 = $nb_ref + 1;





 





  for ($i=1; $i<$nb_ref2; $i++)
  {
  $a = 'ref_'.$i;
  $b = $_POST[$a];





   if($b == 'ok'){
   echo "ref n°".$i." : OK
";





   


$sql = mysql_query("INSERT INTO Ma_table VALUES('','$id_membre','$i','$id_produit','$pts')");
   }
   else{
   echo "ref n°".$i." : NOK
";
   }
  }
3
nicomilville Messages postés 3472 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 28 février 2014 36
14 juil. 2008 à 15:32
Salut,

ça aurai pas été plus simple avec un tableau ?

$_POST['nom'][index];

a++

Si la réponse vous convient, pensez : Réponse acceptée !
0
cs_joebuz Messages postés 321 Date d'inscription samedi 12 février 2005 Statut Membre Dernière intervention 21 février 2013
14 juil. 2008 à 15:57
euh......
c'est à dire ??
0
cs_joebuz Messages postés 321 Date d'inscription samedi 12 février 2005 Statut Membre Dernière intervention 21 février 2013
14 juil. 2008 à 16:08
c'est possible ça :

$i = 0;

for ($i=1; $i<$nb_ref2; $i++)
  {
  $ref = $_POST['ref'][$i];
  .........    }

et si c'est possible je fais comment dans mon formulaire ???

.... name='ref' ??
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
nicomilville Messages postés 3472 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 28 février 2014 36
14 juil. 2008 à 16:10
ba en fait tu met tout tes noms dans un tableau et après avec une boucle for tu récupère les noms un par un :

$_POST['nom'] = Array('nom1','nom2','nom3','nom4');

for(i=0;nom.lengh>it;i++) {
      $_POST['ref'] = $_POST['nom'][i];
}

a++

PS : j'ai jamais fait ça, pa testé !

Si la réponse vous convient, pensez : Réponse acceptée !
0
cs_joebuz Messages postés 321 Date d'inscription samedi 12 février 2005 Statut Membre Dernière intervention 21 février 2013
14 juil. 2008 à 16:27
non, ça ne fonctionne pas, que je coche ou pas les cases la variable est toujours à 0;
j'ai essayé plusieurs à partir de ton script mais rien ne fonctionne
0
nicomilville Messages postés 3472 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 28 février 2014 36
14 juil. 2008 à 16:30
ok, j'avais vu un truc comme ça quelque part, désolé de ne pas avoir pu t'aider et de t'avoir embrouillé !

a++

Si la réponse vous convient, pensez : Réponse acceptée !
0
cs_joebuz Messages postés 321 Date d'inscription samedi 12 février 2005 Statut Membre Dernière intervention 21 février 2013
14 juil. 2008 à 16:37
je dois récupérer la valeur des variables de mon formulaire qui sont identifiées comme ça :

ref_1
ref_2
ref_3
etc..

mais comme y en a jamais le meme nombre et qu'il y en a bcp je pas envie de ma taper toutes les variables à déclarer !!

$ref_1 = $_POST['ref_1'];
etc...

je connais le nombre de ref au moment du formulaire : $nb_ref2

je souhaiterais pouvoir toutes les récuperer en faisant une boucle

$i = 0;
for ($i=1; $i<$nb_ref2; $i++){
.....
}
0
nicomilville Messages postés 3472 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 28 février 2014 36
14 juil. 2008 à 16:57
ok, tant mieux pour toi !

J'étais pas loing quand même lol !

a++

Si la réponse vous convient, pensez : Réponse acceptée !
0
Rejoignez-nous