[Formulaire] Récupérer données for
Résolu
patrice86
Messages postés
1380
Date d'inscription
Statut
Membre
Dernière intervention
-
patrice86 Messages postés 1380 Date d'inscription Statut Membre Dernière intervention -
patrice86 Messages postés 1380 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je suis entrain de développer un site internet dans lequel j'ai besoin d'inclure une sorte de panier de commande.
L'utilisateur choisit son nombre d'articles (exemple 3) ce qui l'amène à une page avec 3 lignes composés comme suit :
Hors, dans le cas où j'ai plusieurs lignes qui s'affichent (suite au nombre sélectionné avant), comment faire pour récupérer les données une par une pour ensuite les enregistrées dans ma BDD.
Merci à vous =)
Je suis entrain de développer un site internet dans lequel j'ai besoin d'inclure une sorte de panier de commande.
L'utilisateur choisit son nombre d'articles (exemple 3) ce qui l'amène à une page avec 3 lignes composés comme suit :
public function composerCommande($produit){Comme vous pouvez le voir, chacune des lignes est composées d'un input pour la référence du produit et à côté un autre input pour la quantité.
$res="<form method='post' action='private.php?action=savecomposer'>";
$res.="<div class='form'>";
for ($i = 1; $i <=$produit;$i++) {
$res.="<p><label for='ref'>Ref. Produit</label> : <input type='text' name='ref' id='ref' /><label for='qte'>Qté</label> : <input type='text' name='qte' id='qte' /></p>";
}
$res.="</div>";
return $res;
}
Hors, dans le cas où j'ai plusieurs lignes qui s'affichent (suite au nombre sélectionné avant), comment faire pour récupérer les données une par une pour ensuite les enregistrées dans ma BDD.
Merci à vous =)
A voir également:
- [Formulaire] Récupérer données for
- Whatsapp formulaire opposition - Guide
- Downloader for pc - Télécharger - Téléchargement & Transfert
- Recuperer message whatsapp supprimé - Guide
- Formulaire de réclamation facebook - Guide
- Formulaire de reclamation instagram - Guide
4 réponses
Bonjour,
Vu que tu a un compteur ($i) tout prêt, autant l'utiliser.
Au lieu de nommer tes champs ref ou qte, nomme à l'aide de se compteur ref_".$i." (qui deviendra donc par exemple ref_1).
Ensuite, pour la récupération deux solutions :
Tu stock la valeurs du compteur final dans un champ caché pour une nouvelle boucle for
Tu fait un while($_POST["ref".$i]) pour tous les récupérer jusqu'à ce que le champ n'existe pas (ça ne permet cependant pas de gérer les "trous" (Si l'utilisateur rentre la première et la troisième ligne, mais pas la deuxième, contrairement à la première solution)
Vu que tu a un compteur ($i) tout prêt, autant l'utiliser.
Au lieu de nommer tes champs ref ou qte, nomme à l'aide de se compteur ref_".$i." (qui deviendra donc par exemple ref_1).
Ensuite, pour la récupération deux solutions :
Tu stock la valeurs du compteur final dans un champ caché pour une nouvelle boucle for
Tu fait un while($_POST["ref".$i]) pour tous les récupérer jusqu'à ce que le champ n'existe pas (ça ne permet cependant pas de gérer les "trous" (Si l'utilisateur rentre la première et la troisième ligne, mais pas la deuxième, contrairement à la première solution)
En faite je fais cela en méthode MVC, donc par fichier découpé.
private.php appel formater.php
et formater.php contient la fonction donnée au dessus :
Donc de cette façon, c'est private.php qui doit récupérer les données qui sont indiquées dans le formater.php
Ensuite, une fois que private.php à récupérer les données, il appel dbhandler.php qui va faire l'insertion dans la base de données :
Et là, je coince =)
Google est ton ami :)
private.php appel formater.php
$content=$formater->composerCommande($produit);
et formater.php contient la fonction donnée au dessus :
public function composerCommande($produit){
$res="<form method='post' action='private.php?action=savecomposer'>";
$res.="<div class='form'>";
for ($i = 1; $i <=$produit;$i++) {
$res.="<p><label for='ref'>Ref. Produit</label> : <input type='text' name='ref' id='ref' /><label for='qte'>Qté</label> : <input type='text' name='qte' id='qte' /></p>";
}
$res.="</div>";
return $res;
}
Donc de cette façon, c'est private.php qui doit récupérer les données qui sont indiquées dans le formater.php
Ensuite, une fois que private.php à récupérer les données, il appel dbhandler.php qui va faire l'insertion dans la base de données :
$p=new Composer($_POST("ref_pro"],$_POST["qte"]);
$id=$dbHandler->createComposer($p);
Et là, je coince =)
Google est ton ami :)
Que tu soit en MVC ou non, mon code fonctionne, tu a juste à l'adapté légèrement.
Dans ton fichier formater.php tu peut y effectué le premier changement que je t'ai montré (rajouter le compteur dans le name, plus un p'tit input hidden pour la compteur)
Dans ton fichier private.php, tu y mets ta boucle :
(Je n'ai pas de serveur sous la main pour tester ça, mais dans l'idée c'est ça, après il faut bien entendu veiller à sécurisé la variable compteur (numérique et supérieur à 0))
Dans ton fichier formater.php tu peut y effectué le premier changement que je t'ai montré (rajouter le compteur dans le name, plus un p'tit input hidden pour la compteur)
Dans ton fichier private.php, tu y mets ta boucle :
for($i=0;$i<=$_POST["compteur"];$i++){ $p=new Composer($_POST("ref_".$i],$_POST["qte_".$i]); $id=$dbHandler->createComposer($p); }
(Je n'ai pas de serveur sous la main pour tester ça, mais dans l'idée c'est ça, après il faut bien entendu veiller à sécurisé la variable compteur (numérique et supérieur à 0))
Merci bien fonctionne parfaitement =)
Une nouvelle question :
Sais-tu comment générer un diagramme UML complet de toutes les classes de mon code PHP (avec les relations...).
j'ai installé le package php_uml de pear mais je ne comprend pas comment l'utiliser
https://forums.commentcamarche.net/forum/affich-30165105-php-uml-probleme-d-utilisation
Google est ton ami :)
Une nouvelle question :
Sais-tu comment générer un diagramme UML complet de toutes les classes de mon code PHP (avec les relations...).
j'ai installé le package php_uml de pear mais je ne comprend pas comment l'utiliser
https://forums.commentcamarche.net/forum/affich-30165105-php-uml-probleme-d-utilisation
Google est ton ami :)