[resolu] variable dans le name d'un input

variable dans le name d'un input [resolu] - PHP - Programmation

Marsh Posté le 02-06-2017 à 13:11:21    

Hello
 
Voici mon problème rapidement,  
 
Je possède 30 groupes dans ma base de donnée,
pour les gérer j'utilise un simple formulaire (Affichage+Update) qui fonctionne parfaitement,
Cependant j'ai le "name" de mon input qui me derange.
 
Comme j'ai 30 groupes, je place le tout dans une boucle "for" qui répète le code php/html
Sauf que ducoup la valeur de mon name dans

Code :
  1. <input type="text" class="form-control" name=" quet2r" placeholder="....">


est identique pour tout les groupes de la boucle, ducoup lorsque je change une valeur d'un groupe sur mon formulaire, tout les groupes subissent cette action:
 
J'ai essayé différents trucs comme :
 

Code :
  1. <input type="text" class="form-control" name="<?php $i>" placeholder="...">// avec i qui s'incrémente a chaque fois, mais je pense que sa le prend pas en compte


Code :
  1. <input type="text" class="form-control" name="quet[<?php echo $i>]" placeholder="...">

 
etc.. mais sans grand succès
Supposons que j'ai réussit à écrire la bonne syntaxe, mon problème viendrait alors de :
 
 

Code :
  1. if(isset($_POST["quet2r"]))
  2.   {/*...*/}


 
 
Je cherche donc un moyen de changer mon name au fur et a mesure de la boucle, et la syntaxe correspondante pour mon isset
je suis sur que c'est tellement bête la solution mais je vois vraiment plus comment faire, je programme habituellement en C++
 
Cdlt :hello:


Message édité par Dolb66 le 03-06-2017 à 14:23:06
Reply

Marsh Posté le 02-06-2017 à 13:11:21   

Reply

Marsh Posté le 02-06-2017 à 17:36:14    

<input type="text" class="form-control" name="quet_<?php echo $i>" placeholder="...">
 
Tout simplement.
 
Après, côté serveur, tu récupère tous les champs dont le nom commence par "quet".


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 02-06-2017 à 19:19:56    

Je ne suis plus dans l'entreprise où j'effectue mon stage actuellement donc je peux pas tester la, mais merci pour ta reponse,
 
Donc pour le traiter apres

Code :
  1. if(isset($_POST["quet_<?$i?>"]))
  2.   {/*...*/}


 

Reply

Marsh Posté le 02-06-2017 à 23:17:34    

non, plutôt :

Code :
  1. foreach($_POST as $key => $value) {
  2.    if (stripos($key, "quet_" ) !== FALSE) {
  3.        /* faire traitement */
  4.    } else {
  5.        /* faire autre traitement pour les autres champs */
  6.    }  
  7. }


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 03-06-2017 à 09:26:06    

rufo a écrit :

non, plutôt :

Code :
  1. foreach($_POST as $key => $value) {
  2.    if (stripos($key, "quet_" ) !== FALSE) {
  3.        /* faire traitement */
  4.    } else {
  5.        /* faire autre traitement pour les autres champs */
  6.    }  
  7. }



Et pourquoi pas un tableau?
 

Code :
  1. <input type="text".... name="quet[<?php echo $i; ?>]" >


 
Et côté Php dans le traitement, $_POST[quet] est un tableau.


Message édité par petit pedestre le 03-06-2017 à 09:26:21
Reply

Marsh Posté le 03-06-2017 à 14:22:50    

Merci pour vos réponses :)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed