Soumettre plusieurs formulaire avec un seul submit

Fermé
Ibnomar - 9 nov. 2019 à 23:33
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 - 16 nov. 2019 à 17:24
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 22730 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024 1 477
10 nov. 2019 à 01:01
bonjour,
qu'affiche ton programme?
il affiche plusieurs fois le premier nom?
pourquoi n'utilises pas la variable $P?
0
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 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
10 nov. 2019 à 07:10
Bonjour

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


0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
10 nov. 2019 à 07:35
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
OK ! Compris. Merci
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
10 nov. 2019 à 23:22
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
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 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650 > Ibnomar
16 nov. 2019 à 09:42
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