IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

remplir plusieurs tables ensemble [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2019
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2019
    Messages : 23
    Points : 11
    Points
    11
    Par défaut remplir plusieurs tables ensemble
    Salut.
    Je suis entrain de faire une migration de la procédure de réservation simple de produit vers la réservation à travers un panier.
    Sur le site, les clients avaient l'habitude de réserver un et seul produit par commande. Désormais, je veux maintenant donner la possibilité aux clients de mon site de pouvoir réserver plusieurs produits à la fois pour une même commande.
    Je suis maintenant au stade de la réservation des produits ajoutés au panier. Malheureusement je ne vois pas d'abord comment enregistrer dans ma base de données, tous les produits sélectionnés par le client (id des produits, noms des produit, prix...). Parce que j'avais l'habitude d'enregistrer le nom, le contact, l'email du client et l'identifiant "id" du produit que le client réservait dans une table "reservation". Je veux maintenant pouvoir enregistrer les informations du client avec les informations des produits contenus dans son panier pour savoir à quel client appartient la commande.
    Ci-dessous le code de la page de réservation des produits que j'appelle "bigin_command.php":
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    <?php
    if(!isset($_SESSION))
    {Session_start();}
     
        error_reporting(E_ALL);
        ini_set('display_errors', TRUE);
        ini_set('display_startup_errors', TRUE);
       // petit test pour voir si le panier existe
     
        if(!isset($_SESSION['achats'])) { echo"<script language='javascript'> document.location.href='liste_pdt.php'; </script> "; }
            /* session_start();
                if(isset($_GET["id"]))
                {
                    $id=$_GET["id"];
                    $_SESSION['id']=$id;
                }
            $new_id=$_SESSION['id']; */
     
        ?>
      <html>
            <head>
                <meta charset="utf-8">
                <link rel="stylesheet" href="bootstrap/css/bootstrap.css" />
                <link rel="stylesheet" href="bootstrap/css/bootstrap.min.css" />
                <link rel="stylesheet" href="bootstrap/css/bootstrap-theme.min.css"/>
                    <link rel="stylesheet" type="text/css" href="styl.css" />
                    <link rel="stylesheet" href="menu_index.css" type ="text/css" />
                        <title>produits d'une catégorie</title>
            </head>
                <body>
                    <div id="bloc_page">
                            <?php include ('config.php');?>
                            <?php include('header.php');?>
                        <div class="container">
                                    <div class="row">                            
                                        <form method="POST" action="end_command2.php">
                                            <div class="container">   
                                                <div class="row">
                                                    <article class="col-md-12 col-sm-12 col-xs-12 ajuste">
                                                        <div class="panel panel-default">
                                                                <?php                                                               
                                                $total=0; $count=count($_SESSION['achats']); $tot=0;
                                                if($count==0){  }
     
                                                    for($i=0;$i<$count;$i++){
                                                // on parcourt notre tableau session et on ne considère que les lignes encore active
                                                 if($_SESSION['achats'][$i]['statut']==0) {
     
                                                    $id=$_SESSION['achats'][$i]['id1']; // on recupère l'id
     
                                                    $qte=$_SESSION['achats'][$i]['qte']; // de même que la quantité
     
                                                    require_once('config.php');
                                                    $requete="select * from categories where id_Cat=$id";
                                                    try
                                                        {
                                                            $reslt=$bdd->prepare($requete);
                                                            $reslt->execute();
                                                            $lig3=$reslt->fetch(); $prix=number_format($lig3['prix'],0,'','');
                                                        }
                                                        catch(PDOException $e)
                                                            {
                                                                // en cas d'erreur :
                                                                echo " Erreur ! ".$e->getMessage();
                                                                print_r($reslt);
                                                            }  
                                                    /* <td height='34' class='lie4 zone esp'>{$lig3['nom']}</td>          <td align='center' class='lie4 zone'>$quantite_totale</td>
                                                    <input type='text' value='$qte' name='$i' size='5' class='li3'></td> */
                                                    $tot=$lig3['prix']*$qte;
                                                    $total+=$tot;
                                                    echo"
                                                    <div class='col-md-8 col-sm-8 col-xs-8'>
                                                        <tr></br>
                                                             
                                                            <td align='center' class='lie zone'>- $qte {$lig3['nom']}(s) </td> dont le prix unitaire est
                                                            <td align='center' class='lie4 zone'>$prix FCFA</td> =
                                                            <td align='center' class='lie4 zone'>$tot FCFA</td>
                                                        </tr>
                                                    </div>
                                                    <div class='col-md-4 col-sm-4 col-xs-4'></br>
                                                        <td align='center' class='lie zone'><a href='#' onclick='effacer($id)' class='lie41'>Effacer</a></td>
                                                    </div>
                                                    </br></br></br>";
     
                                                // on incrémente le total
     
                                                /* $tot=$lig3['prix']*$qte;
                                                 $total+=$tot; */
                                                  }
     
                                                }
     
                                                $prix1=number_format($total,0,'',' '); 
                                                echo'<tr>
                                                      <td bgcolor="#0099CC" class="zone lie4 style7 style4">Prix Total à payer =  </td><td class="lie42 zone" align="center">'.$prix1.'FCFA</td>
                                                    </tr>                                        
                                                                 
                                                                 
                                                        </div>
                                                    </article>
                                                </div>
                                            </div>';
                                        ?>                                      
                                            <div class="container">   
                                                <div class="row">
                                                    <article class="col-md-12 col-sm-12 col-xs-12 ajuste">
                                                        <div class="panel panel-default">
                                                                <div class="panel-heading"><h2>Donnez vos coordonnées pour la validation de votre réservation!</h2></div>
                                                            <div class="panel-body">
                                                                <table>
                                                                        <div class="col-md-4 col-sm-4 col-xs-4">
                                                                            <td>
                                                                                <label>Nom</label><br/>
                                                                                <input type="text" name="nomcli" size="120" class="form-control" required/> <br/>
                                                                                <label>Adresse de livraison</label><br/>
                                                                                <input type="text" name="adresselivraison" size="120"  class="form-control" required/> <br/>
                                                                                <label>Contacts</label><br/>
                                                                                <input type="tel" name="cell" size="120"  class="form-control" required/> </br>
                                                                                <!--<input type="hidden" name="id" value="id" size="20"/> -->
                                                                                <input type="submit" name="valider" value="valider" align="right"/>
                                                                            </td>
                                                                        </div>
                                                                    </tr>
                                                                    </center>
                                                                </table>
                                                            </div>
                                                        </div>
                                                    </article>
                                                </div>
                                            </div>
     
                                        </form>
                                    </div>   
                        </div>
                            </br></br></br>                          
                                            <?php include('footer.php') ?>
                    </div>
                            <script src="bootstrap/js/jquery.js"> </script>
                            <script src="bootstrap/js/bootstrap.min.js"></script>
                </body>
        </html>
    Je m'explique bien.
    Au début, le client ne pouvait réserver qu'un seul produit par commande. Et maintenant je veux qu'il puisse réserver plusieurs produits par commande. De ce fait, je veux enregistrer les informations du client(idclient, nom, cell) dans une table "client", ensuite l'id du client doit aller dans la table commande(idcmd, datecmd, #idclient), enfin tous les produits que le client a réservé dans son panier doivent être enregistrés dans une table "produit(idp, nomp, qte, prix_u, prix_tot, #idcmd") de telle sorte que je puisse savoir pour chaque commande le client qui a passé la commande de tels et tels produits pour me faciliter la livraison des produits qu'il aura commandé.
    Le remplissage de la table "client" se fait sans problème, seulement les tables "commande" et "produit" ne reçoivent pas leurs données pendant l'enregistrement.
    Merci pour l'aide...
    Voici le code de la page de traitement "end_command.php"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    <?php
        if(!isset($_SESSION))
        {session_start();}
     
        error_reporting(E_ALL);
        ini_set('display_errors', TRUE);
        ini_set('display_startup_errors', TRUE);
        require_once('config.php');
           $total=0; $count=count($_SESSION['achats']); $tot=0;
                                                if($count==0){  }
     
                                                    for($i=0;$i<$count;$i++){
                                                // on parcourt notre tableau session et on ne considère que les lignes encore active
                                                 if($_SESSION['achats'][$i]['statut']==0) {
     
                                                    $id=$_SESSION['achats'][$i]['id1']; // on recupère l'id
     
                                                    $qte=$_SESSION['achats'][$i]['qte']; // de même que la quantité
     
                                                    require_once('config.php');
                                                    $requete="select * from categories where id_Cat=$id";
                                                    try
                                                        {
                                                            $reslt=$bdd->prepare($requete);
                                                            $reslt->execute();
                                                            $lig3=$reslt->fetch(); $prix=$lig3['prix']; /* $prix=number_format($lig3['prix'],0,'','');  */
                                                        }
                                                        catch(PDOException $e)
                                                            {
                                                                // en cas d'erreur :
                                                                echo " Erreur ! ".$e->getMessage();
                                                                print_r($reslt);
                                                            }  
                                                    $tot=$lig3['prix']*$qte;
                                                    $total+=$tot;
                                                    echo"
                                                    <div class='col-md-8 col-sm-8 col-xs-8'>
                                                        <tr></br>
                                                             
                                                            <td align='center' class='lie zone'>- $qte {$lig3['nom']}(s) </td> dont le prix unitaire est
                                                            <td align='center' class='lie4 zone'>$prix FCFA</td> =
                                                            <td align='center' class='lie4 zone'>$tot FCFA</td>
                                                        </tr>
                                                    </div>
                                                    <div class='col-md-4 col-sm-4 col-xs-4'></br>
                                                        <td align='center' class='lie zone'><a href='#' onclick='effacer($id)' class='lie41'>Effacer</a></td>
                                                    </div>
                                                    </br></br></br>";
                                                  }
     
                                                }                                          
        ?>
    <!DOCTYPE html>
      <html>
            <head>
                <meta charset="utf-8">
                <link rel="stylesheet" href="bootstrap/css/bootstrap.css" />
                <link rel="stylesheet" href="bootstrap/css/bootstrap.min.css" />
                <link rel="stylesheet" href="bootstrap/css/bootstrap-theme.min.css"/>
                    <link rel="stylesheet" type="text/css" href="styl.css" />
                    <link rel="stylesheet" href="menu_index.css" type ="text/css" />
                    <title>traitement de la reservation</title>
            </head>
                <body>
                    <div id="bloc_page">
                            <?php include ('config.php');?>
                            <?php include('header.php');?>
                        <div class="container">
                                    <div class="row">                            
                                        <form method="POST" action="">
                                            <div class="container">   
                                                <div class="row">
                                                    <article class="col-md-12 col-sm-12 col-xs-12 ajuste">
                                                        <div class="panel panel-default">
                                                            <div class="panel-body">
                                                                <?php
                                                                $count=count($_SESSION['achats']);
                                                                if($count==0){  }
                                                                for($i=0;$i<$count;$i++){
                                                                if($_SESSION['achats'][$i]['statut']!=0)
                                                                    {
                                                                        $id=$_SESSION['achats'][$i]['id1'];     // on recupère l'id
                                                                    }
                                                                }
     
                                                                if (isset($_POST['valider']))
                                                                    {
                                                                        $nomcli=$_POST['nomcli'];
                                                                        $adresselivraison=$_POST['adresselivraison'];
                                                                        $cell=$_POST['cell'];
                                                                        /* $id=$_SESSION['achats'][$i]['id1']; */
     
                                                                        echo "<center><h3><u> Vérifiez vos coordonnées svp </u></h3></center>";
                                                                        echo'<div class="col-md-3 col-sm-4 col-xs-4">
                                                                                <h3>Nom et prénom: </br></br>Adresse de livraison: </br></br>Téléphones: </br></h3>
                                                                            </div>
                                                                            <div class="col-md-9 col-sm-8 col-xs-8">
                                                                                <h3>'.$nomcli.'</br></br> ' .$adresselivraison.' </br></br>'.$cell.'</h3>
                                                                            </div>
                                                                             
                                                                        <form method="POST" action="">
                                                                            <input type="hidden" name="nomcli2" value="'.$nomcli.'" />
                                                                            <input type="hidden" name="adresselivraison2" value="'.$adresselivraison.'" />
                                                                            <input type="hidden" name="cell2" value="'.$cell.'" />
                                                                            <input type="hidden" name="id2" value="'.$id.'" /></br></br></br>
                                                                            <input class="annuler ch1" type="submit" name="annuler" value="Annuler" />
                                                                            <input class="ch2" type="submit" name="confirmer" value="Confirmer" />
                                                                        </form>';
                                                                    }
                                                                ?>
                                                                        <?php
                                                                            if(isset($_POST['confirmer']))
                                                                            {  
                                                                                $nomcli2=isset($_POST['nomcli2']) ? $_POST['nomcli2'] : '' ;
                                                                                $adresselivraison2=isset($_POST['adresselivraison2']) ? $_POST['adresselivraison2'] : '';
                                                                                $cell2=isset($_POST['cell2']) ? $_POST['cell2'] : '';
                                                                                /* $id2=isset($_POST['id2']) ? $_POST['id2'] : ''; */
     
                                                                                    $req1 = "INSERT INTO cli(nomcli, adresselivraison, cell) VALUES(:nomcli2, :adresselivraison2, :cell2)";
     
                                                                                    $datas = array(':nomcli2'=>$nomcli2, ':adresselivraison2'=>$adresselivraison2, ':cell2'=>$cell2);         
                                                                                    try
                                                                                        {
                                                                                            $requete = $bdd -> prepare($req1);
                                                                                            $requete->execute($datas) ; 
                                                                                        }catch(Exception $e)
                                                                                        {
                                                                                            // en cas d'erreur :
                                                                                            echo " Erreur ! ".$e->getMessage();
                                                                                            echo " Les datas : " ;
                                                                                            print_r($datas);
                                                                                        }
                                                                                        $last_id_in_cli = $bdd->lastInsertId();
                                                                                try
                                                                                    {                                                          
                                                                                        $req2=$bdd->prepare('INSERT INTO commande(idcli, date_cmd) VALUES(:last_id_in_cli, NOW())');
                                                                                        $req2->execute(array(':last_id_in_cli'=>$last_id_in_cli));
                                                                                        $req2->closeCursor();
     
                                                                                        $last_id_in_commande = $bdd->lastInsertId();
     
                                                                                        /* <td align='center' class='lie zone'>- $qte {$lig3['nom']}(s) </td> dont le prix unitaire est
                                                                                        <td align='center' class='lie4 zone'>$prix FCFA</td> =
                                                                                        <td align='center' class='lie4 zone'>$tot FCFA</td> */
     
                                    $req3=$bdd->prepare('INSERT INTO produits_commandes(nomp, quantite, prixu, prixtotal, idcmd) VALUES(:'.$lig3['nom'].', :'.$qte.', :'.$prix.', :'.$tot.')');
                                                                                        $req3->execute(array(':nomp'=>$lig3['nom'],
                                                                                                            ':quantite'=>$qte,
                                                                                                            ':prixu'=>$prix,
                                                                                                            ':prixtotal'=>$tot,
                                                                                                            ':last_id_in_commande'=>$last_id_in_commande));
                                                                                                            $req3->closeCursor();
     
                                                                                            echo'<h3> Réservation faite avec succès!</h3> </br><h3><a href="categories.php">Faire une autre réservation!</a></h3>';
                                                                                    }catch(Exception $e)
                                                                                        {
                                                                                            // en cas d'erreur :
                                                                                            echo " Erreur ! ".$e->getMessage();
                                                                                            echo " Les datas : " ;
                                                                                            print_r($req2);
                                                                                        }
     
                                                                                    /* foreach($panier as $id_produit )
                                                                                        {
                                                                                            $req2->execute(array(':last_id_in_client'=>$last_id_in_client,
                                                                                                                 ':id2'=>$id_produit ));
                                                                                        } */
     
                                                                            }else if(isset($_POST['annuler']))
                                                                                    {
                                                                                        header('Location:index.php');
                                                                                    }
                                                                          ?>
                                                            </div>
                                                        </div>
                                                    </article>
                                                </div>
                                            </div>                                                                           
                                        </form>
                                    </div>   
                        </div>
                            </br></br></br>                          
                                            <?php include('footer.php') ?>
                    </div>
                            <script src="bootstrap/js/jquery.js"> </script>
                            <script src="bootstrap/js/bootstrap.min.js"></script>
                </body>
        </html>
    Et voici le message d'erreur qui s'affiche:Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY093]: Invalid parameter number: parameter was not defined' in C:\wamp\www\PROMOSHOP\end_command2.php on line 134

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     $req3=$bdd->prepare('INSERT INTO produits_commandes(nomp, quantite, prixu, prixtotal, idcmd) VALUES(:'.$lig3['nom'].', :'.$qte.', :'.$prix.', :'.$tot.')');
                                                                                        $req3->execute(array(':nomp'=>$lig3['nom'],
                                                                                                            ':quantite'=>$qte,
                                                                                                            ':prixu'=>$prix,
                                                                                                            ':prixtotal'=>$tot,
                                                                                                            ':last_id_in_commande'=>$last_id_in_commande));
    Tu as oublié :last_id_in_commande dans la requête, et en plus, tu concatènes déjà des valeurs en mettant des : devant.

    A+.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2019
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2019
    Messages : 23
    Points : 11
    Points
    11
    Par défaut
    andry.aime, pouvez-vous m'expliquer comment bien faire svp?
    Je ne suis pas encore très doué en PHP.

  4. #4
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Tu as bien fait ici
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
                                                                                    $req1 = "INSERT INTO cli(nomcli, adresselivraison, cell) VALUES(:nomcli2, :adresselivraison2, :cell2)";
     
                                                                                    $datas = array(':nomcli2'=>$nomcli2, ':adresselivraison2'=>$adresselivraison2, ':cell2'=>$cell2);         
                                                                                    try
                                                                                        {
                                                                                            $requete = $bdd -> prepare($req1);
                                                                                            $requete->execute($datas) ;
    A+.

  5. #5
    Membre à l'essai
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2019
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2019
    Messages : 23
    Points : 11
    Points
    11
    Par défaut
    Citation Envoyé par andry.aime Voir le message
    Tu as bien fait ici
    A+.
    Aidez-moi donc à bien faire la dernière partie de la requête car je poirote depuis un bon moment sur le problème.
    N'hesitez à me le donner si vous avez besoin de plus d'info sur le code.

  6. #6
    Expert éminent Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 858
    Points : 6 556
    Points
    6 556
    Par défaut
    À ta place je reverrai l'architecture de ta base de données avant de faire quoi que ce soit. Exemples:
    • l'adresse de livraison n'a rien à faire dans la table client (car dans le cas où un client veut remplir plusieurs paniers pour les expédier à des adresses de livraisons différentes, soit ça n'est pas possible, soit ce même client apparraitra en double dans la table client).
    • produit(idp, nomp, qte, prix_u, prix_tot, #idcmd"): les colonnes qte, prix_tot et idcmd n'ont pas leur place dans la table produit.



    Je te conseille d'aller voir les tutoriels SQL du site et de demander conseil dans le sous forum MySQL sur l'organisation de tes tables pour partir sur une base solide et ne pas t'embourber par la suite.
    Brachygobius xanthozonus
    Ctenobrycon Gymnocorymbus

  7. #7
    Membre à l'essai
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2019
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2019
    Messages : 23
    Points : 11
    Points
    11
    Par défaut
    CosmoKnackI, Je n'ai vraiment pas besoin de revoir l'architecture de ma base de donnée. Pour votre exemple, le client doit indiquer l'adresse de livraison pour chacune de ses commandes, et un client peut être enregistrer autant de fois dans la table client.
    Mon problème c'est de pourvoir enregistrer le client, sa commande et les produits contenus dans sa commande.
    merci de m'aider.

  8. #8
    Expert éminent Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 858
    Points : 6 556
    Points
    6 556
    Par défaut
    Pour votre exemple, le client doit indiquer l'adresse de livraison pour chacune de ses commandes
    Donc, l'adresse de livraison est liée à la commande, pas au client CQFD.
    Brachygobius xanthozonus
    Ctenobrycon Gymnocorymbus

  9. #9
    Membre à l'essai
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2019
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2019
    Messages : 23
    Points : 11
    Points
    11
    Par défaut
    Citation Envoyé par CosmoKnacki Voir le message
    Donc, l'adresse de livraison est liée à la commande, pas au client CQFD.
    Oui oui, l'adresse de livraison est liée à la commande.
    Voic les règles de gestion:
    1-Un client fait 1,n commande et une commande appartient à 1,1 client.
    2-Une commande comporte 1,n prouit et un produit se trouve dans 1,1 commande.

    Voici le MLD:
    -Client(icli, nomcli, adrescli, cell)
    -Commande(idcmd, datecmd, #idcli)
    -Produit(idp, nomp, qte, prixu, prixtotal, #idcmd)
    NB: Le client a la possibilité de changer d'adresse à chaque nouvelle commande s'il le veut.

  10. #10
    Expert éminent Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 858
    Points : 6 556
    Points
    6 556
    Par défaut
    Moi je te propose plutôt un truc comme ça:
    • coordonnees(id, nom, prenom, adresse, cp, ville, email, tel)
    • client(id, login, password, fk_id_coo)
    • produit(id, designation, prix_unitaire)
    • panier(id, fk_id_cli, etat) // etat est l'état du panier (en cours ou validé)
    • panier_produit(fk_id_pan, fk_id_pro, qte) // associe l'id du panier à l'id d'un produit et à sa quantité
    • commande(fk_id_pan, fk_id_coo) // associe l'id du panier au coordonnées de livraison (qui peuvent être celles du client)


    De cette manière tu évites la duplication de l'information dans ta base. À noter aussi que ce qui est calculé comme le prix totale n'y figure pas.
    Je te conseille d'en discuter avec les pros du forum sgbd.
    Brachygobius xanthozonus
    Ctenobrycon Gymnocorymbus

  11. #11
    Membre à l'essai
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2019
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2019
    Messages : 23
    Points : 11
    Points
    11
    Par défaut
    Merci pour la proposition, mais ma base de données est claire à mon avis, mr CosmoKnacki.
    C'est juste la procédure d'enregistrement que que je cherche.

  12. #12
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $req3=$bdd->prepare('INSERT INTO produits_commandes(nomp, quantite, prixu, prixtotal, idcmd) VALUES(:nomp, :quantite, :prixu, :prixtotal, :last_id_in_commande)');
                                                                                        $req3->execute(array(':nomp'=>$lig3['nom'],
                                                                                                            ':quantite'=>$qte,
                                                                                                            ':prixu'=>$prix,
                                                                                                            ':prixtotal'=>$tot,
                                                                                                            ':last_id_in_commande'=>$last_id_in_commande));
    A+.

  13. #13
    Membre à l'essai
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2019
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2019
    Messages : 23
    Points : 11
    Points
    11
    Par défaut
    Bonjour mr andry.aimé
    Encore merci pour l'aide. Mais il reste encore un petit détails. L'enregistrement se fait maintenant mais c'est seulement le dernier produit commandé du panier qui s'enregistre dans la table "produits_commandes" et les autres produits ne s'enregistrent pas. Je sais qu'il me faut faire une boucle pour enregistrer tous les produits commandés qui doivent être indexés chacun par l'id de la commande qui les renferme. Montrez-moi le chemin svp.

  14. #14
    Membre à l'essai
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2019
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2019
    Messages : 23
    Points : 11
    Points
    11
    Par défaut
    Merci pour l'aide.
    Mais il reste encore un petit détails.

    L'enregistrement se fait maintenant mais c'est seulement le dernier produit commandé du panier qui s'enregistre dans la table "produits_commandes" et les autres produits ne s'enregistrent pas. Je sais qu'il me faut faire une boucle pour enregistrer tous les produits commandés qui doivent être indexés chacun par l'id de la commande qui les concerne car je veux enregistrer tous les produits du panier dans la table "produits_commandes" pendant la validation de la commande du client.

  15. #15
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    1- ARRÊTE de cliquer sur le bouton "Répondre avec citation" !!

    Utilise le bouton "+ Répondre à la discussion", en bas à gauche.
    Merci.


    2- Si tu veux qu'on te corrige, il faut montrer ton code.

  16. #16
    Membre à l'essai
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2019
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2019
    Messages : 23
    Points : 11
    Points
    11
    Par défaut
    Voici les explications et mon code:
    Je suis entrain de faire une migration de la procédure de réservation simple de produit vers la réservation à travers un panier.
    Sur le site, les clients avaient l'habitude de réserver un et seul produit par commande. Désormais, je veux maintenant donner la possibilité aux clients de mon site de pouvoir réserver plusieurs produits à la fois pour une même commande.
    Je cherche actuellement comment enregistrer dans ma base de données, tous les produits sélectionnés par le client (id des produits, noms des produit, prix...). Parce que j'avais l'habitude d'enregistrer le nom, le contact, l'email du client et l'identifiant "id" du produit que le client réservait dans une table "reservation". Je veux maintenant pouvoir enregistrer les informations du client avec les informations des produits contenus dans son panier pour savoir à quel client appartient la commande.
    Ci-dessous le code de la page de réservation des produits que j'appelle "bigin_command.php":
    Code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    <?php 
    if(!isset($_SESSION))
    {Session_start();}
     
        error_reporting(E_ALL);
        ini_set('display_errors', TRUE);
    	ini_set('display_startup_errors', TRUE);
       // petit test pour voir si le panier existe
     
        if(!isset($_SESSION['achats'])) { echo"<script language='javascript'> document.location.href='liste_pdt.php'; </script> "; }		
    	?>
    <!DOCTYPE html>
      <html>
            <head>
                <meta charset="utf-8">
    			<link rel="stylesheet" href="bootstrap/css/bootstrap.css" />
    			<link rel="stylesheet" href="bootstrap/css/bootstrap.min.css" />
    			<link rel="stylesheet" href="bootstrap/css/bootstrap-theme.min.css"/>
                    <link rel="stylesheet" type="text/css" href="styl.css" /> 
    				<link rel="stylesheet" href="menu_index.css" type ="text/css" /> 
                        <title>produits d'une catégorie</title>
            </head>
                <body>
                    <div id="bloc_page">
    						<?php include ('config.php');?>
    						<?php include('header.php');?> 
    					<div class="container"> 
    								<div class="row">								
    									<form method="POST" action="end_command2.php">
    										<div class="container">    
    											<div class="row">
    												<article class="col-md-12 col-sm-12 col-xs-12 ajuste">
    													<div class="panel panel-default" id="panel">
    															<?php
                                                echo"<center><h1><u>CONTENU DE VOTRE PANIER</u></h1></center>";															
    											$total=0; $count=count($_SESSION['achats']); $tot=0;
    											if($count==0){  }
     
    												for($i=0;$i<$count;$i++){
    											// on parcourt notre tableau session et on ne considère que les lignes encore active
    											 if($_SESSION['achats'][$i]['statut']==0) {
     
    												$id=$_SESSION['achats'][$i]['id1']; // on recupère l'id
     
    												$qte=$_SESSION['achats'][$i]['qte']; // de même que la quantité 
     
    												require_once('config.php');
    												$requete="select * from categories where id_Cat=$id";
    												try
    													{
    														$reslt=$bdd->prepare($requete);
    														$reslt->execute();
    														$lig3=$reslt->fetch(); $prix=number_format($lig3['prix'],0,'',''); 
    													}
    													catch(PDOException $e) 
    														{
    															// en cas d'erreur :
    															echo " Erreur ! ".$e->getMessage();
    															print_r($reslt);
    														}	
    												/* <td height='34' class='lie4 zone esp'>{$lig3['nom']}</td>          <td align='center' class='lie4 zone'>$quantite_totale</td>
    												<input type='text' value='$qte' name='$i' size='5' class='li3'></td> */
    												$tot=$lig3['prix']*$qte;
    											    $total+=$tot;
    												echo"<center> 
    												<div class='col-md-8 col-sm-8 col-xs-8'>
    													<tr></br>
    													    <strong>
    														<td align='center' class='lie zone'>- $qte {$lig3['nom']}(s) </td> dont le prix unitaire est 
    														<td align='center' class='lie4 zone'>$prix FCFA</td> = 
    														<td align='center' class='lie4 zone'>$tot FCFA</td></strong>
    													</tr>
    												</div>
    												
    												</br></br></br></center>";
                                                    /* <div class='col-md-4 col-sm-4 col-xs-4'></br>
    												    <td align='center' class='lie zone'><a href='#' onclick='effacer($id)' class='lie41'>Effacer</a></td>
    												</div> */
    											// on incrémente le total
     
    											/* $tot=$lig3['prix']*$qte;
    											 $total+=$tot; */
    											  }
     
    											}
     
                                                $prix1=number_format($total,0,'',' ');	
                                                echo'<tr>
    											      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    												  <td bgcolor="#0099CC" class="zone lie4 style7 style4"><strong>Prix Total à payer =  </td><td class="lie42 zone" align="center">'.$prix1.'FCFA</strong></td>
                                                    </tr>											
    															
    															
    													</div>
    												</article>
    										    </div>
                                            </div>';
                                        ?>										
    										<div class="container">    
    											<div class="row">
    											    <article class="col-md-12 col-sm-12 col-xs-12 ajuste">
    													<div class="panel panel-default" id="panel">
    															<div class="panel-heading"><center><h2>Donnez vos coordonnées pour la validation de votre réservation!</center></h2></div>
    														<div class="panel-body">
    															<table> 
    																	<div class="col-md-12 col-sm-12 col-xs-12"> 
    																		<td>
    																			<label>Nom</label><br/>
    																			<input type="text" name="nomcli" size="120" class="form-control" required/> <br/>
    																			<label>Adresse de livraison</label><br/>
    																			<input type="text" name="adresselivraison" size="120"  class="form-control" required/> <br/>
    																			<label>Contacts</label><br/>
    																			<input type="tel" name="cell" size="120"  class="form-control" required/> </br>
    																			<!--<input type="hidden" name="id" value="id" size="20"/> -->
    																			<input type="submit" name="valider" value="valider" align="right"/> 
    																		</td>
    																	</div>
    																</tr>
    																</center>
    															</table>
    												        </div>
    													</div>
    												</article>
    											</div> 
    										</div>
     
    									</form>
                                    </div>	
                        </div>
    				        </br></br></br>							
                                            <?php include('footer.php') ?>
                    </div>
    				        <script src="bootstrap/js/jquery.js">	</script>
    				        <script src="bootstrap/js/bootstrap.min.js"></script>
                </body>
        </html>
    Au début, le client ne pouvait réserver qu'un seul produit par commande. Et maintenant je veux qu'il puisse réserver plusieurs produits par commande. De ce fait, je veux enregistrer les informations du client(idclient, nom, cell) dans une table "client", ensuite l'id du client doit aller dans la table commande(idcmd, datecmd, #idclient), enfin tous les produits que le client a réservé dans son panier doivent être enregistrés dans une table "produit(idp, nomp, qte, prix_u, prix_tot, #idcmd") de telle sorte que je puisse savoir pour chaque commande le client qui a passé la commande de tels et tels produits pour me faciliter la livraison des produits qu'il aura commandé.
    Le remplissage de la table "client" se fait sans problème, la table "commande" aussi se rempli maintenant normalement. C'est seulement la table "produit" qui ne reçoit pas bien ses données pendant l'enregistrement, elle n'enregistre que le dernier produit du panier et n'enregistre pas les autres produits. J'ai pourtant besoin d'enregistrer tous les produits.
    Merci pour l'aide...
    Voici le code de la page de traitement "end_command.php"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    <?php 
        if(!isset($_SESSION))
        {session_start();}									
    	?>
      <html>
            <head>
                <meta charset="utf-8">
    			<link rel="stylesheet" href="bootstrap/css/bootstrap.css" />
    			<link rel="stylesheet" href="bootstrap/css/bootstrap.min.css" />
    			<link rel="stylesheet" href="bootstrap/css/bootstrap-theme.min.css"/>
                    <link rel="stylesheet" type="text/css" href="styl.css" /> 
    				<link rel="stylesheet" href="menu_index.css" type ="text/css" /> 
                    <title>traitement de la reservation</title>
            </head>
                <body>
                    <div id="bloc_page">
    						<?php include ('config.php');?>
    						<?php include('header.php');?> 
    					<div class="container"> 
    								<div class="row">								
    									<form method="POST" action="">
    										<div class="container">    
    											<div class="row">
    												<article class="col-md-12 col-sm-12 col-xs-12 ajuste">
    													<div class="panel panel-default">
    														<div class="panel-body" id="panel">
    															<?php
    															error_reporting(E_ALL);
                                                                ini_set('display_errors', TRUE);
    	                                                        ini_set('display_startup_errors', TRUE);
    	                                                        require_once('config.php');
    	                                                        $total=0; $count=count($_SESSION['achats']); $tot=0;
    											if($count==0){  }
     
    												for($i=0;$i<$count;$i++){
    											// on parcourt notre tableau session et on ne considère que les lignes encore active
    											 if($_SESSION['achats'][$i]['statut']==0) {
     
    												$id=$_SESSION['achats'][$i]['id1']; // on recupère l'id
     
    												$qte=$_SESSION['achats'][$i]['qte']; // de même que la quantité 
     
    												require_once('config.php');
    												$requete="select * from categories where id_Cat=$id";
    												try
    													{
    														$reslt=$bdd->prepare($requete);
    														$reslt->execute();
    														$lig3=$reslt->fetch(); $prix=$lig3['prix']; /* $prix=number_format($lig3['prix'],0,'','');  */
    													}
    													catch(PDOException $e) 
    														{
    															// en cas d'erreur :
    															echo " Erreur ! ".$e->getMessage();
    															print_r($reslt);
    														}	
    															$tot=$lig3['prix']*$qte;
    															$total+=$tot;
    															echo"
    															<div class='col-md-12 col-sm-12 col-xs-12'>
    																<tr></br>
    																	<h3>
    																	<td align='center' class='lie zone'>- $qte {$lig3['nom']}(s) </td> dont le prix unitaire est 
    																	<td align='center' class='lie4 zone'>$prix FCFA</td> = 
    																	<td align='center' class='lie4 zone'>$tot FCFA</td>
    																</tr>
    															</div>
    															
    															</br></br></br></br>";
    															/* <div class='col-md-4 col-sm-4 col-xs-4'></br>
    																<td align='center' class='lie zone'><a href='#' onclick='effacer($id)' class='lie41'>Effacer</a></td>
    															</div></h3> */
     
    														  }
     
    														}
    																	$prix1=number_format($total,0,'',' ');	
    														echo'<tr> 
    															  <td bgcolor="#0099CC" class="zone lie4 style7 style4"><strong><h3>&nbsp;&nbsp;&nbsp;&nbsp;<u>Prix Total à payer =  </td><td class="lie42 zone" align="center">'.$prix1.'FCFA</u><h3></strong></td>
    															</tr>';											
     
    															$count=count($_SESSION['achats']);
                                                                if($count==0){  }
    															for($i=0;$i<$count;$i++){
    															if($_SESSION['achats'][$i]['statut']!=0) 
    															    {
                                                                        $id=$_SESSION['achats'][$i]['id1'];		// on recupère l'id
    															    }
    															}
     
    															if (isset($_POST['valider']))
    																{
    																	$nomcli=$_POST['nomcli'];
    																	$adresselivraison=$_POST['adresselivraison'];
    																	$cell=$_POST['cell'];
    																	/* $id=$_SESSION['achats'][$i]['id1']; */
     
    																	echo "<center><h3><u> Vérifiez vos coordonnées svp </u></h3></center>";
    																	echo'<div class="col-md-3 col-sm-4 col-xs-4">
    																	        <h3>Nom et prénom: </br></br>Adresse de livraison: </br></br>Téléphones: </br></h3>
    																		</div>
    																		<div class="col-md-9 col-sm-8 col-xs-8">
    																		    <h3>'.$nomcli.'</br></br> '.$adresselivraison.' </br></br>'.$cell.'</h3>
    																		</div> 
    																		
    																	<form method="POST" action="">
    																		<input type="hidden" name="nomcli2" value="'.$nomcli.'" /> 
    																		<input type="hidden" name="adresselivraison2" value="'.$adresselivraison.'" /> 
    																		<input type="hidden" name="cell2" value="'.$cell.'" />
    																		<input type="hidden" name="id2" value="'.$id.'" /></br>
    																		<input class="annuler ch1" type="submit" name="annuler" value="Annuler" />
    																		<input class="ch2" type="submit" name="confirmer" value="Confirmer" />
    																	</form>';
    																} 
    															?>
    																	<?php 
    																		if(isset($_POST['confirmer']))
    																		{   
    																			$nomcli2=isset($_POST['nomcli2']) ? $_POST['nomcli2'] : '' ;
    																			$adresselivraison2=isset($_POST['adresselivraison2']) ? $_POST['adresselivraison2'] : '' ;
    																			$cell2=isset($_POST['cell2']) ? $_POST['cell2'] : '';
    																			/* $id2=isset($_POST['id2']) ? $_POST['id2'] : ''; */
     
    																	$req1 =$bdd->prepare("INSERT INTO cli(nomcli, adresselivraison, cell) VALUES(:nomcli2, :adresselivraison2, :cell2)");
     
    																				$req1->execute(array(':nomcli2'=>$nomcli2, ':adresselivraison2'=>$adresselivraison2, ':cell2'=>$cell2));			
    																					$last_id_in_cli = $bdd->lastInsertId();
     
    																					$req2=$bdd->prepare('INSERT INTO commande(idcli, date_cmd) VALUES(:last_id_in_cli, NOW())');
    																					$req2->execute(array(':last_id_in_cli'=>$last_id_in_cli));
    																					/* $req2->closeCursor(); */
     
    																					$last_id_in_commande = $bdd->lastInsertId();
     
    								$req3=$bdd->prepare('INSERT INTO produits_commandes(nomp, quantite, prixu, prixtotal, idcmd) VALUES(:nomp, :quantite, :prixu, :prixtotal, :last_id_in_commande)');
                                                                                        $req3->execute(array(':nomp'=>$lig3['nom'],
                                                                                                            ':quantite'=>$qte,
                                                                                                            ':prixu'=>$prix,
                                                                                                            ':prixtotal'=>$tot,
                                                                                                            ':last_id_in_commande'=>$last_id_in_commande));
    																					                    $req3->closeCursor();
     
    																						echo'<h3 style="color:white;"> Réservation faite avec succès!</h3> </br><h3><a href="liste_categories.php" style="color:white;">Faire une autre réservation!</a></h3>';	
     
    																		}else if(isset($_POST['annuler']))
    																				{
    																					header('Location:index.php');
    																				}
    																	  ?>
    														</div>
    													</div>
    												</article>
    										    </div>
                                            </div>																			
    									</form>
                                    </div>	
                        </div>
    				        </br></br></br>							
                                            <?php include('footer.php') ?>
                    </div>
    				        <script src="bootstrap/js/jquery.js">	</script>
    				        <script src="bootstrap/js/bootstrap.min.js"></script>
                </body>
        </html>

  17. #17
    Invité
    Invité(e)
    Par défaut
    1- inutile de recopier le blabla de ton 1er message : on sait lire.
    Le code suffit.

    2- tu n'as fait aucune des corrections indiquées dans ton autre discussion. (mais je ne retrouve plus l'autre discussion )

    Donc, là aussi, inutile d'ouvrir plusieurs discussions sur le même sujet.
    Dernière modification par Invité ; 30/03/2019 à 11h18.

  18. #18
    Membre à l'essai
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2019
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2019
    Messages : 23
    Points : 11
    Points
    11
    Par défaut
    jreaux62, ce ne sont pas des blabla stp. C'est du code. Même si tu es fort que moi, cela ne te donne pas l'autorisation de me parler mal. Soit tu m'aides, soit tu passes ton chemin et laisser d'autres personnes m'aider.
    Si tu as vu le code en haut, pourquoi tu me le demandais encore à nouveau?
    Tu peux me laisser tranquille sans me provoquer.
    Merci

  19. #19
    Invité
    Invité(e)
    Par défaut
    1- Ne confonds pas :
    • le "blabla", ce sont les explications, qui sont les mêmes que dans le 1er message. Donc : inutile de les recopier.
    • le code, c'est... le code !
      Et on a besoin de voir ton code APRÈS corrections.


    2- Quant aux corrections dont je t'ai déjà parlé (mais je ne retrouve plus l'autre discussion ) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    	if($count==0){  }
    	for($i=0;$i<$count;$i++){
    		if($_SESSION['achats'][$i]['statut']!=0) 
    		{
    			$id=$_SESSION['achats'][$i]['id1'];		// on recupère l'id
    		}
    	}
    $id ne contient QUE le dernier id.
    Les accolades fermantes (du for et du if) sont certainement fermées trop tôt.

    C'est CA qu'il faut corriger.

  20. #20
    Membre à l'essai
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2019
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2019
    Messages : 23
    Points : 11
    Points
    11
    Par défaut
    Pourtant je te dirai merci si tu me dis ou est-ce que je dois fermer les accolades.
    Le "merci" est mieux que la discussion entre nous.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Remplir plusieurs tables avec un formulaire unique
    Par cedre06130 dans le forum IHM
    Réponses: 4
    Dernier message: 14/08/2020, 01h07
  2. Réponses: 6
    Dernier message: 17/05/2013, 10h52
  3. [AC-2007] Formulaire pour remplir plusieurs tables (débutante access)
    Par korentine dans le forum IHM
    Réponses: 2
    Dernier message: 23/07/2010, 13h40
  4. Réponses: 2
    Dernier message: 11/04/2007, 12h14
  5. Réponses: 19
    Dernier message: 13/03/2006, 13h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo