Insertion des plusieurs lignes dans une Base des données avec la requêtte préparée

JoelKighuntura

JoelKighuntura Le 8 août 2022 à 12:31

Bonjour à tous, je suis nouveau sur ce forum, je suis entrain de travail sur un projet d'enregistrement des colis dans une entrepôt. j'ai alors penser à créer un infomulaire des saisie avec possibilisté d'incrémenter les nombre des champ des saisie avec un boutton selon le besoin de l'utilisateur (Autrement dit que l'utilisateur peut enregistrer meme 10 colis au même moment), alors le problème est que je n'arrive pas à inserer toutes les informations de ces différents champs dans la base bes données. quelqu'un peut me venir en aide s'il vous plait? surtout avec la requette préparé et l'objet PDO. Merci d'avance pour celui qui me viendra en aide.

JoelKighuntura

JoelKighuntura Le 8 août 2022 à 12:43

Et voici mes scripts php

public function insererColis()
{ // Cette methode permet d'inserer un colis dans la base des donnees
    if (isset($_POST['ajouter']))
    {
        $libele = $_POST['libele'];
        $nombrecolis = $_POST['nombre'];
        $vehicule = $_POST['vehicule'];
        $montant = $_POST['montant'];
        $monnaie = $_POST['monnaie'];
        $datearriv = $_POST['date'];
        $client = $_POST['client'];

        if (!empty($libele) && !empty($nombrecolis) && !empty($vehicule) && !empty($montant) && !empty($monnaie) && !empty($datearriv) && !empty($client))
            {

                    $queryPrepare = $this->db->ds->prepare('INSERT INTO gestioncolis.colis(libele, nombre_colis, id_veh, montant, monnaie, date_arriv, id_ut, id_cli) VALUES (:libele, :nombre_colis, :id_veh, :montant, :monnaie, :date_arriv, :id_ut, id_cli)');

                    foreach ($valeurs as $valeur)
                    {
                        include_once "Utilisateur.php";
                        $utilisateur = new Utilisateur();
                        $inserer = $utilisateur->seConnecterAlapplication();

                        $queryPrepare->execute([
                            ':libele' => $libele,
                            ':nombre_colis' => $nombrecolis,
                            ':id_veh' => $vehicule,
                            ':montant' => $montant,
                            ':monnaie' => $monnaie,
                            ':date_arriv' => $datearriv,
                            ':id_cli' => $client,
                            ':id_ut' => $_SESSION['id'],
                        ]);
                    }
                    echo "<script>alert('colis ajouté avec succès !');</script>";
                    echo "<script>window.location.href = 'listeColis.php';</script>";

            } else
            {
                $erreur= "Veuillez renseigner tous les champs s'il vous plais !";
            } 
    }
    if (isset($erreur))
    {
        echo "<font style='color:red; '>$erreur</font>";
    }
}
JoelKighuntura

JoelKighuntura Le 8 août 2022 à 12:47

voici mon html

<thead>
    <tr>
        <th>Libelé</th>
        <th>Nombre</th>
        <th>vehicule</th>
        <th>Propriètaire</th>
        <th>montant</th>
        <th>monnaie</th>
        <th>Date</th>
        <th width="30px">
      <div class="action_container">
        <button class="success" onclick="create_tr('table_body')">
          <img src="../images/plus-square-dotted.svg" width ="25" height ="25" alt="Bootstrap">
        </button>
      </div>
    </th>
    </tr>
</thead>

<tbody id="table_body">
<?php
    require_once '../classes/Colis.php';
    $colis= new Colis();
    $rows = $colis->insererColis(); 
?>
  <tr>
  <form action="" method="post">
    <td><input type="text" placeholder="Libelé" name="libele[]" class="form_control" id=""></td>
    <td><input type="number" placeholder="Quantité" name="nombre[]" class="form_control" id=""></td>

    <td>
        <div class="input-group mb-3">
            <select name="vehicule[]" id="" class="form_control">
                <option value="">Choix du vehicule</option>
                    <?php
                        require_once '../classes/Vehicule.php';
                        $vehicule = new Vehicule();
                        $rows = $vehicule->listerVehicule();
                        foreach($rows as $row)
                        {
                        echo "<option value='$row[0]'>$row[2]</option>";
                        }
                    ?>
            </select>
        </div>
    </td>

    <td>
        <div class="input-group mb-3">
            <select name="client[]" id="" class="form_control">
                <option value="">Choix du Client</option>
                    <?php
                        require_once '../classes/Client.php';
                        $client = new Client();
                        $rows = $client->listerClient();
                        foreach($rows as $row)
                         {
                            echo "<option value='$row[0]'>$row[1]</option>";
                         }
                    ?>
            </select>
        </div>
    </td>
    <td><input type="number" placeholder="montant" name="montant[]" class="form_control" id=""></td>
    <td>
        <select name="monnaie" class="form_control"  id="">
            <option value="rien">Choix de la monnaie</option>
            <option value="Franc Congolais(CDF)">Franc Congolais(CDF)</option>
            <option value="Dollars(USD)">Dollars(USD)</option>
        </select>
    </td>
    <td><input type="date" name="date[]" class="form_control" id=""></td>
    <td>
      <div class="action_container">
        <button class="danger" onclick="remove_tr(this)">
        <img src="../images/x.svg" width ="20" height ="20" alt="Bootstrap">
        </button>
      </div>
    </td>
    <center>
        <input type="Submit" name="ajouter" class="btn btn-primary mb-3" value = "Enregistrer"><br>
    </center>
    </tr>
  </form>
</tbody>

</table>

JoelKighuntura

JoelKighuntura Le 8 août 2022 à 12:58

voila la capture des mon formulaire des saisie, et les champs que vous voyez là peuvent etre ajouter ou diminuer selon le besoin de l'utilisateur

Vous devez être connecté pour poster une réponse. Se connecter ou Créer un compte