Problème de trasfert des donnée php vs Mysql

Fermé
abdel - 26 juin 2010 à 12:59
lolosb Messages postés 292 Date d'inscription samedi 31 octobre 2009 Statut Membre Dernière intervention 20 février 2015 - 27 juin 2010 à 16:17
Bonjour tout le monde,

j'ai un problème lors de la transfert de mes données de la page de saisie (Ajout-det-cmd.php) vers la page qui va enregistrer ces données dans la bdd Mysql (exec-det-com.php) le code des deux page est le suivant ainsi que l'erreur affiché :
*****************
Ajout-det-cmd.php
*****************
<?php
try
{
$bdd = new PDO('mysql:host=localhost;dbname=progarage', 'root', '');
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
$reponse = $bdd->query('SELECT MAX(Num_commande) FROM commande');
$donnees = $reponse->fetch();
$reponse->closeCursor();


?>

<form method="post" action="exec-det-com.php?nembc=<?php echo $_GET['nembc']; ?>">
<p align="center">
<?php
for ($i = 0; $i < $_GET['nembc']; $i++)
{
?>
<br /><em><strong><?php echo 'La ' . $i . '° piéce : <br />';?></strong></em><br />


<label for="numcmd$i"><strong>Numéro de commande :</strong></label><br />
<input type="text" name="numcmd$i" id="numcmd$i" value="<?php echo $donnees['MAX(Num_commande)'];?>" />
<?php
}
?>
***************
exec-det-com.php
***************
<?php
try
{
$bdd = new PDO('mysql:host=localhost;dbname=progarage', 'root', '');
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
for ($i = 0 ; $i < $_GET['nembc'] ; $i++)
{

$req = $bdd->prepare('INSERT INTO detail_commande(Num_commande) VALUES(:Num_commande)');
$req->execute(array('Num_commande' => $_POST["numcmd$i"]));
************
l'erreur
************
pour le cas ou $_GET['nembc']=1
Notice: Undefined index: numcmd0 in C:\wamp\www\ajouter\ajouter-commande\exec-det-com.php
Notice: Undefined index: numcmd1 in C:\wamp\www\ajouter\ajouter-commande\exec-det-com.php

si quelqu'un pourra m'aider je serai très reconnaissant et merci d'avance

abdel :)

3 réponses

lolosb Messages postés 292 Date d'inscription samedi 31 octobre 2009 Statut Membre Dernière intervention 20 février 2015 32
26 juin 2010 à 17:41
Salut,
moi je suis débutant!
J'ai pas lu le code entier, mais essaye peut-être de ouvrir la connection à la base de mysql avant le reste, avec le code suivant:
mysql_connect("nom_de_la_base", "nom_d_utilisateur", "mot_de_passe");
mysql_select_db("nom_de_la_base");
0
merci infiniment de ta réponse mais le problème n'était pas dans la connexion
car je suis déjà connecté par la commande :
<?php
try
{
$bdd = new PDO('mysql:host=localhost;dbname=progarage', 'root', '');
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
?>
l'erreur était plutôt dans la manière de déclaration des variable, après une longue réflexion j'ai trouvé la solution à mon problème que j'aime partager avec les autres et la solution est la suivante:
dans la page de saisie :
*****************
Ajout-det-cmd.php
*****************
il faut remplacé :
<label for="numcmd$i"><strong>Numéro de commande :</strong></label><br />
<input type="text" name="numcmd$i" id="numcmd$i" value="<?php echo $donnees['MAX(Num_commande)'];?>" />

par :
<label for="numcmd<?php echo $i;?>"><strong>Numéro de commande :</strong></label><br />
<input type="text" name="numcmd<?php echo $i;?>" id="numcmd<?php echo $i;?>" value="<?php echo $donnees['MAX(Num_commande)'];?>" />

car il faut d'abord être a l'intérieur de la balise php avant de pouvoir afficher le contenu de la variable $i .
et a la fin j'aime encore une fois remercie lolosb et bonsoir a vous tous .

abdel :)
0
lolosb Messages postés 292 Date d'inscription samedi 31 octobre 2009 Statut Membre Dernière intervention 20 février 2015 32
27 juin 2010 à 16:17
Pardon...
Si c'est résolu, tu dois le marquer comme résolu!

@+
0