Insérer des variables dans une table en php
Fermé
sajodia
Messages postés
38
Date d'inscription
mercredi 5 mars 2008
Statut
Membre
Dernière intervention
20 novembre 2010
-
30 janv. 2009 à 16:51
freto Messages postés 1542 Date d'inscription vendredi 6 juillet 2007 Statut Membre Dernière intervention 8 avril 2016 - 9 févr. 2009 à 15:47
freto Messages postés 1542 Date d'inscription vendredi 6 juillet 2007 Statut Membre Dernière intervention 8 avril 2016 - 9 févr. 2009 à 15:47
A voir également:
- Insérer des variables dans une table en php
- Table ascii - Guide
- Table des matières word - Guide
- Insérer une vidéo dans powerpoint - Guide
- Insérer signature word - Guide
- Insérer liste déroulante excel - Guide
4 réponses
freto
Messages postés
1542
Date d'inscription
vendredi 6 juillet 2007
Statut
Membre
Dernière intervention
8 avril 2016
161
30 janv. 2009 à 17:32
30 janv. 2009 à 17:32
Trop de code sans les balises < code > pour présenter sur le forum, bah sa tue le code ^^
Donc je peut rien te dire quand a tes tests, c'est illisible, donc je sais pas si sa passe forcément par ton insert ou non.
Pour ta requete, essaie de récupérer d'abord les valeurs de $_POST dans des variables puis de faire ta requete avec ces variables, au lieu de directement poser les $POST dans la chaine.
Donc je peut rien te dire quand a tes tests, c'est illisible, donc je sais pas si sa passe forcément par ton insert ou non.
Pour ta requete, essaie de récupérer d'abord les valeurs de $_POST dans des variables puis de faire ta requete avec ces variables, au lieu de directement poser les $POST dans la chaine.
sajodia
Messages postés
38
Date d'inscription
mercredi 5 mars 2008
Statut
Membre
Dernière intervention
20 novembre 2010
2
9 févr. 2009 à 14:43
9 févr. 2009 à 14:43
Voici mon code ça ne marche tjrs pa
<?php $titre="Nouvelle Commande"; include_once("entete.php"); include_once("menu.php"); include_once("configuration.php"); ?> <div id="corps"> <?php //sauvegarde de la date au format Mysql $date=date('Y-m-d'); echo $date.'<br/>'; $id_client= isset($_POST['id_client']) ? $_POST['id_client'] : ''; $nombre_article= isset($_POST['nombre_article']) ? $_POST['nombre_article'] : ''; for($p=1;$p<=$nombre_article;$p++) { $quantite_article = "quantite_article_" . $p; $$quantite_article = isset($_POST["$quantite_article"]) ? $_POST["$quantite_article"] : ''; $$quantite_article= mysql_real_escape_string(htmlspecialchars($$quantite_article)); $id_article = "id_article_" . $p; $$id_article = isset($_POST["$id_article"]) ? $_POST["$id_article"] : ''; $$id_article= mysql_real_escape_string(htmlspecialchars($$id_article)); } $selection= isset($_POST['selection']) ? $_POST['selection'] : ''; $valide= isset($_POST['valide']) ? $_POST['valide'] : ''; if (!$selection and !$valide) { ?> <h2>Nouvelle Commande</h2> <form action="creation_commande.php" method="POST"> <table> <tr><td> Selection du Client: </td><td> <select name="id_client"> <?php // Sélectionner les champs "nom_emplacement" //selection emplacement plein $req5="select id_client,nom_client,prenom_client,num_client from client"; $reponse5 = mysql_query($req5); while ( $donnees5 = mysql_fetch_array($reponse5) ) { $j=$donnees5['nom_client']; $id=$donnees5['id_client']; echo '<option value="'.$id.'">'.$j.'</option>'; } ?> </select> </td></tr> <tr><td> Nombre d'article diffèrents : </td><td> <select name="nombre_article"> <?php // Nombre article different disponible $req6="SELECT COUNT(*) AS nombre_article FROM article"; $reponse6 = mysql_query($req6); $donnees6 = mysql_fetch_array($reponse6); $nombre_article= $donnees6['nombre_article']; for ($i=1;$i<=$nombre_article;$i++) { echo '<option >'.$i.'</option>'; } ?> </select> </td></tr> <label for="numero_commande">Numéro commande : </label> <input name="numero_commande" /> <br /> <label for="date_commande">Date commande : </label> <input onclick="ds_sh(this);" name="date_commande" readonly="readonly" style="cursor: text" /><br /> <label for="montant_global">Montant global : </label> <input name="montant_global" /> <br /> <tr><td> </td><td> <input type="submit" name="selection" value="OK"/> </td></tr> </table> </form> <?php } //on recupere les valeurs if ($selection) { $selection= mysql_real_escape_string(htmlspecialchars($selection)); $id_client= mysql_real_escape_string(htmlspecialchars($id_client)); $nombre_article= mysql_real_escape_string(htmlspecialchars($nombre_article)); echo 'Client n° : '.$id_client.'<br/>'; echo 'Code article different :'.$nombre_article.'<br/>'; echo '<form action="creation_commande.php" method="POST">'; for($l=1;$l<=$nombre_article;$l++) { echo 'Article n° :'.$l.' '; echo '<select name="id_article_'.$l.'">'; // Sélectionner les champs "Type_article (ou le nom du materiel)" $reponse = mysql_query("select nom_materiel from materiel"); while ( $donnees = mysql_fetch_array($reponse) ) { $j=$donnees['nom_materiel']; $w=$donnees['id_materiel']; echo '<option value="'.$w.'">'.$j.'</option>'; } echo '</select>'; echo ' Quantité : '; echo '<input type="text" name="quantite_article_'.$l.'" /><br/>'; } echo '<p><input type="submit" value="OK" name="valide" /></p>'; echo '<input type="hidden" name="id_client" value="'.$id_client.'" />'; echo '<input type="hidden" name="nombre_article" value="'.$nombre_article.'" />'; echo '</form>'; } //on insert dans la base if ($valide) { $valide= mysql_real_escape_string(htmlspecialchars($valide)); // insertion de la nouvelle commande $req="INSERT INTO `dicteenum`.`commande` (`id_commande` ,`client_id_client` ,`numero_commande`,`date_commande`,`montant_global`) VALUES ('','".$_POST['id_client']."','".$_POST['numero_commande']."','".$_POST['date_commande']."','".$_POST['montant_global']."')"; $reponse = mysql_query($req); // aide if(mysql_error()) { echo 'Debug : '.mysql_error().'<br />'; }else{ echo 'pas d\'erreur'.'<br />'; } $req2="select max(id_commande) as id_commande from commande"; $reponse2=mysql_query($req2); $donnees2=mysql_fetch_array($reponse2); $id_commande=$donnees2['id_commande']; for ($p=1;$p<=$nombre_article;$p++) { $id_article = "id_article_" . $p; $quantite_article = "quantite_article_" . $p; $req3="insert into contient values ('$id_commande','${$nom_materiel}','${$quantite_article}')"; $reponse3=mysql_query($req3); } echo '<br/>Nouvelle commande créée'; } ?> </div> <?php include_once("pied_de_page.php"); ?>
freto
Messages postés
1542
Date d'inscription
vendredi 6 juillet 2007
Statut
Membre
Dernière intervention
8 avril 2016
161
9 févr. 2009 à 14:54
9 févr. 2009 à 14:54
Bon, j'ai déjà un grand doute quand au code que tu a écrit:
Saches que la partie html que tu a placé après ce bloc ci dessus va etre exécutée à chaque appel de page, et non si le test est valide ou non. Peut être est ce que tu voulais faire, auquel cas, je n'ai rien dit. Sinon, il faut enlever ton ?> et faire un echo de ton code html.
Ensuite, au niveau de tes requetes, je ne vois nul part un mysql_connect, un mysql_select_db ni même de mysql_close. De plus, si tu appelle ces fonctions dans un fichier en include, saches aussi qu'il vaut mieux faire appel à la fonction mysql_query en placant en paramètre la requete, puis le lien vers mysql (lien retourné par la fonction mysql_connect).
Enfin, je vois que tu veut faire un debug au niveau mysql. Pour cela, il y a plus simple: lorsque tu fait appel à mysql_connect ou a mysql_query, tu peut le faire de cette manière.
Si il y a un problème d'exécution à l'une de ces fonctions, le reste du code php ne sera pas interprété, et tu pourra te focaliser sur l'erreur.
if (!$selection and !$valide) { ?>
Saches que la partie html que tu a placé après ce bloc ci dessus va etre exécutée à chaque appel de page, et non si le test est valide ou non. Peut être est ce que tu voulais faire, auquel cas, je n'ai rien dit. Sinon, il faut enlever ton ?> et faire un echo de ton code html.
Ensuite, au niveau de tes requetes, je ne vois nul part un mysql_connect, un mysql_select_db ni même de mysql_close. De plus, si tu appelle ces fonctions dans un fichier en include, saches aussi qu'il vaut mieux faire appel à la fonction mysql_query en placant en paramètre la requete, puis le lien vers mysql (lien retourné par la fonction mysql_connect).
Enfin, je vois que tu veut faire un debug au niveau mysql. Pour cela, il y a plus simple: lorsque tu fait appel à mysql_connect ou a mysql_query, tu peut le faire de cette manière.
$lien=mysql_connect('localhost','user','password') or die (mysql_error()); mysql_select_db('database',$lien) or die (mysql_error()); mysql_query($tarequete, $lien) or die (mysql_error()); //Le reste du code et juste avant la fin mysql_close($lien) or die(mysql_error());
Si il y a un problème d'exécution à l'une de ces fonctions, le reste du code php ne sera pas interprété, et tu pourra te focaliser sur l'erreur.
sajodia
Messages postés
38
Date d'inscription
mercredi 5 mars 2008
Statut
Membre
Dernière intervention
20 novembre 2010
2
9 févr. 2009 à 15:22
9 févr. 2009 à 15:22
pour la connexion je l'ai mis dans un fichier configuration.php
<?php
$server = 'localhost';
$user = 'root';
$pass = '';
$table = 'papa;
mysql_connect($server,$user,$pass) or die("Impossible de se connecter au serveur");
/* ensuite se choisir la base : */
mysql_select_db($table) or die ("impossible de se connecter à la base dicteenum");
?>
<?php
$server = 'localhost';
$user = 'root';
$pass = '';
$table = 'papa;
mysql_connect($server,$user,$pass) or die("Impossible de se connecter au serveur");
/* ensuite se choisir la base : */
mysql_select_db($table) or die ("impossible de se connecter à la base dicteenum");
?>
freto
Messages postés
1542
Date d'inscription
vendredi 6 juillet 2007
Statut
Membre
Dernière intervention
8 avril 2016
161
9 févr. 2009 à 15:47
9 févr. 2009 à 15:47
Dans ce cas, n'oublie pas le $lien=mysql_connect...
mysql_select_db('database', $lien)...
Et enfin mysql_query($requete,$lien)
Et un conseil: tu risque de t'embrouiller, et d'embrouiller les autres en choisissant de nommer ta variable table, pour lui affecter la valeur papa etc etc....Une base de données regroupe plusieurs tables, mysql_select_db ne choisit que la base de données, pas une table. Ici dans ton exemple, tu selectionne la base de données (et non la table) nommée papa, et en message d'erreur, tu indique qu'il est impossible de se connecter à la base dicteenum. Embrouillant n'est il pas?
De plus si tu a copié collé le code de ton fichier directement ici, il y a une erreur ($table='papa';)=> tu a oublié une quote ' avant le ;
mysql_select_db('database', $lien)...
Et enfin mysql_query($requete,$lien)
Et un conseil: tu risque de t'embrouiller, et d'embrouiller les autres en choisissant de nommer ta variable table, pour lui affecter la valeur papa etc etc....Une base de données regroupe plusieurs tables, mysql_select_db ne choisit que la base de données, pas une table. Ici dans ton exemple, tu selectionne la base de données (et non la table) nommée papa, et en message d'erreur, tu indique qu'il est impossible de se connecter à la base dicteenum. Embrouillant n'est il pas?
De plus si tu a copié collé le code de ton fichier directement ici, il y a une erreur ($table='papa';)=> tu a oublié une quote ' avant le ;