Variable dans un _POST

[Résolu]
Signaler
Messages postés
321
Date d'inscription
samedi 12 février 2005
Statut
Membre
Dernière intervention
21 février 2013
-
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
-
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

Messages postés
321
Date d'inscription
samedi 12 février 2005
Statut
Membre
Dernière intervention
21 février 2013

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
";
   }
  }
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
36
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 !
Messages postés
321
Date d'inscription
samedi 12 février 2005
Statut
Membre
Dernière intervention
21 février 2013

euh......
c'est à dire ??
Messages postés
321
Date d'inscription
samedi 12 février 2005
Statut
Membre
Dernière intervention
21 février 2013

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' ??
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
36
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 !
Messages postés
321
Date d'inscription
samedi 12 février 2005
Statut
Membre
Dernière intervention
21 février 2013

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
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
36
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 !
Messages postés
321
Date d'inscription
samedi 12 février 2005
Statut
Membre
Dernière intervention
21 février 2013

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++){
.....
}
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
36
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 !