Accueil > Forum > > > > insérer les valeurs d'un formulaire dans une base de données
insérer les valeurs d'un formulaire dans une base de données
mardi 5 mai 2009 à 12:12:01 |
insérer les valeurs d'un formulaire dans une base de données

maguidi
|
Bonjour, J'ai un formulaire avec un champ par défaut et des champs dynamiques dynamique que l'utilisateur peut ajouter avec un bouton ajout Alors j'ai fais ce code pour insérer les valeurs dans ma base de données foreach($_POST as $cle=>$value) { if(substr($cle,0,7)=="article") { $array_article[]=$value; } } for ($i=0; $i<sizeof($array_article); $i++) { $select_artticle = mysql_query("SELECT KArticles, Designations FROM articles WHERE Designations='$array_article[$i]'"); $res_article = mysql_fetch_array($select_artticle); $num_article = $res_article['KArticles']; $select_sortie = mysql_query("INSERT INTO sorties (FKArticles, DateSorties) VALUES('$num_article', now())"); } Mais quand je regarde ma base de données j constate que la valeur du champ dynamique n'est pas insérée. Alors pour voir si j'arrive à récupérer les valeurs des champs dynamiques j'ai fait print_r($_POST) et j'ai obtenu ça Array ( [article1] => A3 [article] => Array ( [0] => A2 ) ) (ce qui est en gras est la valeur du champ dynamique) et dans ma boucle for quand je fais un echo $array_article[$i] ça m'affiche A3 Array Si quelqu'un comprend où se trouve le probléme son aide me sera bien utile. Je rapelle que ce que je veux c'est insérer toutes les valeurs récupérées de mon formulaire dans ma base de données
|
|
mardi 5 mai 2009 à 17:01:12 |
Re : insérer les valeurs d'un formulaire dans une base de données

alexflex25
|
Perso je ferrais comme ceci, je ne sais pas si cela peut convenir...
<?php //A declarer ici a cause de la portée des variables $array_article = array(); $compteur = 0; foreach($_POST as $cle => $valeur){ if(substr($cle,0,7)=="article"){ $array_article[compteur++]=$valeur; } } foreach($array_article as $cle => $valeur){ $select_artticle = mysql_query('SELECT KArticles, Designations FROM articles WHERE Designations="'.$valeur.'"'); $res_article = mysql_fetch_array($select_artticle); $num_article = $res_article['KArticles']; $select_sortie = mysql_query('INSERT INTO sorties (FKArticles, DateSorties) VALUES("'.$num_article.'",now())'); } ?>
|
|
mercredi 6 mai 2009 à 08:33:11 |
Re : insérer les valeurs d'un formulaire dans une base de données

maguidi
|
slt alexflex25 j'ai essayé ce que t'a dit mais ça marche toujours pas ça donne le même résultat que mon code. Je sais où se trouve le problème le truc c'est que les données du champ dynamique sont dans un tableau. comme j'ai fait foreach($_POST as $cle => $valeur) pour récupérer les données sous forme de tableau avec une clé et valeur les données du champ dynamique se retouve encore dans un autre tableau. C'est pour ça que quand je fais print_r($_POST) et j'ai obtenu ça Array ( [article1] => A3 [article] => Array ( [0] => A2 ) (ce qui est en gras est la valeur du champ dynamique) et la quand je fais if(substr($cle,0,7)=="article") { $array_article[]=$value; } article1 est la clé et sa valeur est A3 par contre article2 est aussi une clé mais pour sa valeur c'est juste le Array qui est récupérer alors que moi j'ai besoin de ce qui est dans le array de article. C'est pour ça que dans ma boucle for quand je fais un echo $array_article[$i] ça m'affiche A3 Array . Voila mon problème mais je sais pas comment y remédier, si quelqu'un peu m'aider je sais plus quoi faire.
|
|
mercredi 6 mai 2009 à 13:28:18 |
Re : insérer les valeurs d'un formulaire dans une base de données

alexflex25
|
<?php //A declarer ici a cause de la portée des variables $array_article = array(); $compteur = 0; foreach($_POST as $cle => $valeur){ if( $cle == "article"){ $array_article = $valeur; } } foreach($array_article as $cle => $valeur){ $select_artticle = mysql_query('SELECT KArticles, Designations FROM articles WHERE Designations="'.$valeur.'"'); $res_article = mysql_fetch_array($select_artticle); $num_article = $res_article['KArticles']; $select_sortie = mysql_query('INSERT INTO sorties (FKArticles, DateSorties) VALUES("'.$num_article.'",now())'); } ?>
Il me semblait bien que y'avait un problème d'algo ceci devrai corriger ton probleme
|
|
jeudi 7 mai 2009 à 08:17:36 |
Re : insérer les valeurs d'un formulaire dans une base de données

maguidi
|
wé la j'arrive à insérer les valeur des champs dynamiques mé par contre je n'arrive plus à insérer celle du champ par défaut. Est ce que tu peux m'expliquer à quoi sert chacun des foreach utilisés. Je sais à quoi ça sert mais par rapport à mon code.
|
|
jeudi 7 mai 2009 à 08:54:42 |
Re : insérer les valeurs d'un formulaire dans une base de données

alexflex25
|
<?php //Prenons un exemple print_r($_POST); //Donne ceci //Array ( // [article1] => A3 // [article] => Array ( // [0] => A2 // ) //) //A declarer ici a cause de la portée des variables $array_article = array(); //Cette premiere boucle recherche dans le tableau $_POST la clé "article" //qui contient les valeurs de tes champs dynamiques (à ce que j'ai compris). //Pour la stocker dans un autre tableau... //Personnellement je ne trouve pas cela nécessaire... //mais c'est une solution qui peut de défendre suivant le reste du code foreach($_POST as $cle => $valeur){ if( $cle == "article"){ $array_article = $valeur; } } //apres cela si je fais print_r($array_article); //j'obtiens //Array ( // [0] => A2 //) //Ce qui correspond à la liste des valeurs des champs dynamique. //Dans cette deuxieme boucle tu parcour la liste de tes articles //exemple dans la premiere itération $cle=0 et $valeur = A2 //et tu insere des données dans une table foreach($array_article as $cle => $valeur){ $select_artticle = mysql_query('SELECT KArticles, Designations FROM articles WHERE Designations="'.$valeur.'"'); $res_article = mysql_fetch_array($select_artticle); $num_article = $res_article['KArticles']; $select_sortie = mysql_query('INSERT INTO sorties (FKArticles, DateSorties) VALUES("'.$num_article.'",now())'); } //Si tu veux ensuite récupérer "la valeur du champ par defaut" (a supposé que ce soit [articles1] => A3) //Il suffit d'utiliser le tableau $_POST. //ta valeur de champ pas defaut et donc dans cette exemple $_POST['articles1']; //Si je ne repond pas vraiment à ta question c'est parceque je n'ai pas compris ce que tu veut dire par "celle du champ par défaut." ?>
|
|
jeudi 7 mai 2009 à 09:20:29 |
Re : insérer les valeurs d'un formulaire dans une base de données

maguidi
|
si si ta très bien répondu à mes deux questions j compren mieu maintenant, tout est claire. Vraiment merci je sais pas ce que j'aurai fait sans toi.
|
|
jeudi 7 mai 2009 à 09:23:26 |
Re : insérer les valeurs d'un formulaire dans une base de données

maguidi
|
Excuz j'ai une autre question ce que tu dis que c'est pas nécessaire j'aurai pu faire comment
|
|
jeudi 7 mai 2009 à 09:37:26 |
Re : insérer les valeurs d'un formulaire dans une base de données

alexflex25
|
Réponse acceptée !
//Voila comme j'aurais fais foreach($_POST as $cle => $valeur){ if($cle == "article"){ foreach($valeur as $article){ $select_artticle = mysql_query('SELECT KArticles, Designations FROM articles WHERE Designations="'.$article.'"'); $res_article = mysql_fetch_array($select_artticle); $num_article = $res_article['KArticles']; $select_sortie = mysql_query('INSERT INTO sorties (FKArticles, DateSorties) VALUES("'.$num_article.'",now())'); } }else{ //traitement avec ta valeur par defaut avec un acces à cette valeur comme ceci //$valeur } } //Dans l'exemple tu n'as qu'un seul article donc pas de probleme //Mais si cette liste grossi c un peu dommage de stocké 2 fois la meme chose à deux endroits différents //Le but etant l'économie...
|
|
jeudi 7 mai 2009 à 09:57:53 |
Re : insérer les valeurs d'un formulaire dans une base de données

maguidi
|
Je l'ai testée c'est parfait, j'opte pour ta solution. Encore une fois merci pour tout
|
|
Cette discussion est classée dans : base, données, valeurs, array, article
Répondre à ce message
Sujets en rapport avec ce message
graphique et base de données [ par jeremy77 ]
Bonjour,Apres avoir réalisé un graphique en courbe avec liaison a ma base de donnes (c'est à dire que les coordonées de ma courbe sont des valeurs réc
Additionner les valeurs des champs d'une base de données mysql [ par moonfire ]
Bonjour, j'ai un probleme en php sur un script de gestion de transaction de compte. Pour voir le montant des rtansaction effectués sur mon compte ce
Ne veut pas s'ajouter a la base de données [ par romain14g59 ]
bonjour je vient d'esseyer de crer un script pour ajouter des données dans ma base de données MYSQL a partir d'un formulaire mais quand je valide mon
Somme base de données [ par sensoide ]
Bonour,1.J'ai une base de données avec une colonne salaire et je me souvient plus comment fair pour avoir la somme de la colonne. J'aurais besoin de m
UPDATE et checkbox [ par fabrice88 ]
Bonjour, j'ai fait un formulaire de mise à jour de ma base de données.Pour modifier une données "texte" j'ai mis cette ligne de commande <input name="
connexion base de données [ par lofely85 ]
Bonjour, j'ai crée toutes mes pages pour mon site a laide du bloc note. j'aimerai le connecte a une base access (php\mysql) c'est pour cela ke jai
checkbox et base de données [ par Zebra1928 ]
Bonjour à tous,J'ai un pproblème que j'arrive pas à régler, comment supprimer des enregistrements d'une base de données en utilisant des cases à coche
Formulaire de recherche [ par fabrice88 ]
Bonjour,j'ai une base de données que j'ai appelé manifsje souhaiterai faire un formulaire qui me permet d'aller affiché les données de ma base en fonc
Affichage aleatoire de données [ par fabrice88 ]
bonjour,j'ai un base avec plusieurs données.je souhaiterais faire affiché aleatoirement et les une derieres les autres (5secondes par affichage) les
Php + Base de données [ par slipknot240504 ]
Bonjour à tous,Avant de vous poser ces questions j'ai bien chercher sur Internet et je n'ai pas trouvé de questions qui y répondent donc je vous les p
Livres en rapport
|
Derniers Blogs
POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|