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

abdel -  
lolosb Messages postés 292 Date d'inscription   Statut Membre Dernière intervention   -
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

  1. lolosb Messages postés 292 Date d'inscription   Statut Membre Dernière intervention   32
     
    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
  2. abdel
     
    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
  3. lolosb Messages postés 292 Date d'inscription   Statut Membre Dernière intervention   32
     
    Pardon...
    Si c'est résolu, tu dois le marquer comme résolu!

    @+
    0