Soumettre plusieurs formulaire avec un seul submit

Ibnomar -  
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,
Votre apprenti en php est de retour et à besoin de votre aide. En fait , j’ai créé de formulaire de votre pour des gens. Pour chaque personne on peut votre plusieurs profils. Alors j’ai fait le formulaire de la manière suivante :
<input type=“text” name=“nom” value=“Francois” > <br/>
<input type=“checkbox” name=“profile[]” value =“courageux” > <label> Courageux </label> <br/>
<input type=“checkbox” name=“profile[]” value =“gentil” > <label> Gentil </label> <br/>
<input type=“checkbox” name=“profile[]” value =“ouvert ” > <label> Ouvert </label> <br/>

<input type=“text” name=“nom” value=“Alice” > <br/>
<input type=“checkbox” name=“profile[]” value =“courageux” > <label> Courageux </label> <br/>
<input type=“checkbox” name=“profile[]” value =“gentil” > <label> Gentil </label> <br/>
<input type=“checkbox” name=“profile[]” value =“ouvert ” > <label> Ouvert </label> <br/>

<input type=“text” name=“nom” value=“Yohan” > <br/>
<input type=“checkbox” name=“profile[]” value =“courageux” > <label> Courageux </label> <br/>
<input type=“checkbox” name=“profile[]” value =“gentil” > <label> Gentil </label> <br/>
<input type=“checkbox” name=“profile[]” value =“ouvert ” > <label> Ouvert </label> <br/>

Mon objectif est qu’on puisse voter plusieurs profils pour chaque personne et que je puisse afficher le résultats de chaque personne . Donc j’ai saisir le code de récupérer (☺️☺️☺️)
<?php foreach ($_Post[‘’profile’’] as $P ) { echo $_Post[‘profile’].’ ´. $p ;} ?>

Le problème est que ce code donne tous les votes à un seul nom , en occurrence le premiere nom de mon formulaire.
Aidez moi svp !!!

2 réponses

yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
bonjour,
qu'affiche ton programme?
il affiche plusieurs fois le premier nom?
pourquoi n'utilises pas la variable $P?
0
Ibnomar
 
Oui ! J’utilise la variable $p mais donne les profils à un seul nom. Par example lorsque on choisi «  courageux » pour François et « gentil » pour Alice , mon code de récupération donne « courageux » et « gentil » à François seul
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Bonjour

Tout comme pour tes checkbox, tes input text devraient avoir un "name" sous forme d'array
name=“nom[]” 


0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Nb: A l'avenir, pour poster ton code correctement sur le forum, tu dois utiliser les balises de code
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code

Merci.
0
Ibnomar
 
OK ! Compris. Merci
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Tu pourrais, d'ailleurs, générer ton formulaire en php pour éviter de copier/coller 50 fois les mêmes lignes de code html.
par exemple :
<?php
$a_questions = array("Francois","Alice","Yohan");
$a_users = array("courageux","gentil","ouvert");

foreach($a_users as $K=>$U){
   echo "<input type='text' name='nom[".$K."]' value='".$U."' > <br/>";
  foreach($a_questions as $Q){
    echo "<input type='checkbox' name='profile[".$K."][]' value='".$Q."' ><label>".$Q."</label> <br/>";
  
  }
}
?> 
0
Ibnomar
 
Merci bocou Jordan !!
Dis , est ce que c’est possible d’insérer une formule dans ma table sql ? En fait , je suis en train de programmer une facture et j’aimerais que sql enregistre automatiquement le total quand un on envoi les achat. Eg de la table : achat 1 Achat 2. Total
1000 2000 ?

Merci
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752 > Ibnomar
 
Bonjour,
En Sql.. il existe la fonction SUM

par contre, vu ce que tu nous ecris... je pense que tu ne sais pas trop comment créer correctement une base de données et y structurer tes tables...
Il faut découper chaque élément dans des tables.
Les clients, les produits, les commandes, les achats contenus dans les commandes, les adresses de livraison et de facturation des clients, les catégories de produits..etc...

Donc.. non Ce n'est pas une table avec :
Achat1 Achat 2 et Total sur une seule ligne....

Mais plusieurs tables, comme par exemple :
1 table avec les achats (id, id_commande, id_produit, quantite )
1 table produits (id , libelle, prix , description )
1 table commandes (id, date_achat, id_client, total) => et c'est ici que tu utiliseras la fonction SUM sur la table achats
etc...
0