Jump to content

Afficher des participants (PHP-HTML)


Recommended Posts

Bonjour, je viens de commencer php et j'ai un petit projet qui consiste à créer un site de formation. Dans ce site, on crée des programmes(matières) et des formations(cours) à partir des programmes créés. Les personnes peuvent participer à la formation qu'ils veulent.

 

Lors de cette création de formation, nous pouvons participer en remplissant un formulaire et cela ouvrira un modal
Le problème ici c'est que j'aimerai afficher la liste de participant qui ont participé à la formation qu'ils ont sélectionné sous forme de modal mais dans mon cas, il affiche juste tous les participants existants ou aucun participants.

 

Voici mon code dans index.php (qui permet d'afficher les formations créées) :

    <!-- Card CRATION DE FORMATION pour Demandeur-->
            <?php
                if(!empty($rowsall) AND ($rowsallPro)) {
                foreach($rowsall as $k => $row) {
            ?>        

            <div class="col"    >
                <div class="card" style="width: 28rem;display:inline-block;margin-bottom:20px">
                    <img src="<?php 
                    echo $row['imageProgramme']; ?>" class="card-img-top" alt="...">
                    <div class="card-body">
                        <h3 style="color: #FFBC42;" class="card-title"><b><?php echo $row['programme'];?></b></h3>
                        <h5 class="card-title"><?php echo $row['sousTitre'];?></h5>
                        <div style="background-color: #FFBC42;color:white;border-radius:20px;height:40px">
                            <h5 style="text-align: center;padding-top:10px;padding-bottom:10px;">Durée : <?php echo $row['heurePro'] . "h" . $row['minutePro'];?></h5>
                        </div> <br>
                        <p><b>Formateur : </b> <?php echo $row['formateur'];?>

                        <div class="row"> 
                            <div class="col">
                                <b>Date : </b> <?php echo $row['forma_date'];?>
                            </div>
                            <div class="col">
                                <b>Heure : </b> <?php echo $row['forma_time'];?>
                            </div>  
                        </div>   <br>       
                        <p><b>Lieu : </b> <?php echo $row['lieu'];?></p>
                        <p><b>Nombre de place : </b> <?php echo $row['nb_place'];?></p>
                        
                        <div class="d-flex justify-content-center">
                            <a href="#staticBackdropParticipe" class="btn" 
                            style="color:white;background:#FFBC42"
                            onmouseover="this.style.background='#f1ac2c';this.style.color='white';"
                            onmouseout="this.style.background='#FFBC42';this.style.color='white';">Participer</a>&nbsp;&nbsp;
                            <a href="#staticBackdropVoirPlus" 
                            class="btn btn-secondary" style="color:white">Voir plus</a> 
                        </div>
                    </div>
                   
                </div>
            </div>

            <?php 
                }
        
                }
            ?>

 

Le modal qui ouvre un formulaire pour s'enregistrer ou enregistrer un tier :

        <!--   Modal PARTICIPER   -->            
            <div class="modal fade" id="staticBackdropParticipe" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="staticBackdropLabel" aria-hidden="true">
                <div class="modal-dialog modal-xl modal-dialog-centered modal-dialog-scrollable">
                    <div style="margin-top:80px ;" class="modal-content">
                        <div class="modal-header">
                            <h4 class="modal-title" style="color: #FFBC42;" id="staticBackdropLabel"><b>Inscrivez votre participant</b></h4>
                            <a href="#"><button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button></a>
                        </div>

                        <div class="modal-body"> 
                        <form action="" method="post" 
                        name="buttonParticiper"
                        enctype="multipart/form-data" id="buttonParticiper">
                            <div class="row">
                                <div class="col">
                                    <div class="form-floating mb-3">
                                        <input name="nomParticipant" id="nomParticipant" 
                                        class="form-control" required aria-label="With textarea" type="text" placeholder="Description du programme">
                                        <label for="floatingInput">Nom</label>
                                    </div>
                                </div>
                                <div class="col">
                                    <div class="form-floating mb-3">
                                        <input name="prenomParticipant" id="prenomParticipant" 
                                        class="form-control" required aria-label="With textarea" type="text" placeholder="Description du programme">
                                        <label for="floatingInput">Prénom</label>
                                    </div>
                                </div>
                            </div>
                                
                            <div class="form-floating mb-3">
                                <input name="fonctionParticipant" id="fonctionParticipant" 
                                class="form-control" required aria-label="With textarea" type="text" placeholder="Description du programme">
                                <label for="floatingInput">Fonction/poste occupé</label>
                            </div>

                            <select value="$lieu" class="form-select" name="serviceParticipant" aria-label="Default select example" 
                            id="serviceParticipant" required>
                                <option disabled selected>Service</option>

                                <optgroup label="Pôle Adultes Handicapés">
                                    <option value="MAS Annie GAUCI SAP">MAS Annie GAUCI SAP</option>
                                    <option value="MAS Annie GAUCI UAT">MAS Annie GAUCI UAT</option>
                                    <option value="FAM Alice VERDIN - Hébergement">FAM Alice VERDIN - Hébergement</option>
                                    <option value="FAM - Passerelle">FAM - Passerelle</option>
                                    <option value="PALI">PALI</option>
                                    <option value="SAS - Passerelle">SAS - Passerelle</option>
                                    <option value="SAMSAH Austral Toutes Déficiences">SAMSAH Austral Toutes Déficiences</option>
                                    <option value="SAMSAH Austral TSA">SAMSAH Austral TSA</option>
                                </optgroup>

                                <optgroup label="Pôle DI TSA">
                                    <option value="IME Baobab ZAMBAVILE">IME Baobab ZAMBAVILE</option>
                                    <option value="IME Baobab LETCHIS">IME Baobab LETCHIS</option>
                                    <option value="IME Baobab Internat">IME Baobab Internat</option>
                                    <option value="IME Baobab Semi-Internat">IME Baobab Semi-Internat</option>
                                    <option value="Unité d'Enseignement Elementaire Autisme (UEEA)">Unité d'Enseignement Elementaire Autisme (UEEA)</option>
                                    <option value="IME Levavasseur Semi-Internat TSA">IME Levavasseur Semi-Internat TSA</option>
                                    <option value="IME Levavasseur Semi-Internat DI">IME Levavasseur Semi-Internat DI</option>
                                    <option value="IME Levavasseur TSA">IME Levavasseur TSA</option>
                                    <option value="IME Levavasseur DI">IME Levavasseur DI</option>
                                    <option value="Dispositif Relais">Dispositif Relais</option>
                                </optgroup>

                                <optgroup label="Pôle EDMP">
                                    <option value="CEAP les Champs de Merle">CEAP les Champs de Merle</option>
                                    <option value="IEM les Champs de Merle">IEM les Champs de Merle</option>
                                    <option value="SESSAD les Champs de Merle">SESSAD les Champs de Merle</option>
                                    <option value="IME Baobab Semi-Internat">IME Baobab Semi-Internat</option>
                                </optgroup>

                                <optgroup label="Pôle Insertion Professionnelle">
                                    <option value="EA les Tidalons - Le Port">EA les Tidalons - Le Port</option>
                                    <option value="EA les Tidalons - Saint-Pierre">EA les Tidalons - Saint-Pierre</option>
                                    <option value="EA les Tidalons - Saint-Clotilde">EA les Tidalons - Saint-Clotilde</option>
                                    <option value="ESAT les Tidalons - Le Port">ESAT les Tidalons - Le Port</option>
                                    <option value="ESAT les Tidalons - Saint-Pierre">ESAT les Tidalons - Saint-Pierre</option>
                                    <option value="ESAT les Tidalons - Chaudron">ESAT les Tidalons - Chaudron</option>
                                    <option value="ESAT les Tidalons - PRIMA">ESAT les Tidalons - PRIMA</option>
                                    <option value="FHTH Notre Dame de Lourdes">FHTH Notre Dame de Lourdes</option>
                                </optgroup>

                                <optgroup label="Pôle Social Petite Enfance">
                                    <option value="Pouponnière Sociale DAFA">Pouponnière Sociale DAFA</option>
                                    <option value="Pouponnière Internat">Pouponnière Internat</option>
                                </optgroup>
                            </select> <br>
                            </div>

                            <div class="modal-footer">
                                <a href="#"><button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Fermer</button></a>
                                <button type="submit" value="submit" class="btn btn-warning" style="color:white">Inscrire le participant</button>
                           
                               
                            </div>
                        </form>
                    </div>
                </div>
            </div>

 

participant.php (la fonction pour enregistrer et afficher les participants) :

<?php 
    class participant {

        private $server = "localhost";
        private $username = "root";
        private $password = "";
        private $db = "formation_db";
        private $conn;

        public function __construct()
        { 
            try {
                $this->conn = new mysqli(
                                $this->server, 
                                $this->username, 
                                $this->password,
                                $this->db 
                            );
        }   catch(Exception $e) 
        {
            echo "Erreur de connexion" . $e->getMessage();
        }
    }

    function participant(){
        if(isset($_POST['nomParticipant']) && isset($_POST['prenomParticipant']) && isset($_POST['fonctionParticipant']) && isset($_POST['serviceParticipant'])) {
            $nomParticipant = $_POST['nomParticipant'];
            $prenomParticipant = $_POST['prenomParticipant'];
            $fonctionParticipant = $_POST['fonctionParticipant'];
            $serviceParticipant = $_POST['serviceParticipant']; 

            if(empty($nomParticipant)){
                header("Location: index_demandeur.php?error=Nom du participant requis");
                exit();
            } else {
                $query = "INSERT INTO participant (nomParticipant, prenomParticipant, fonctionParticipant, serviceParticipant) VALUES ('$nomParticipant', '$prenomParticipant', '$fonctionParticipant', '$serviceParticipant')";
                if($sql = $this->conn->query($query)) {

                    echo "<br><br><div class='card w-25' style='padding:20px;color: #FFBC42; margin:auto;'>
                    <h5 style='text-align:center'>
                    <i class='fas fa-check-circle'></i>&nbsp; <b><q> ".$_POST['nomParticipant']." ".$_POST['prenomParticipant']." </q> 
                    a bien été enregistré pour cette formation</b></h5>
                    <a href='../demandeur/index_demandeur.php' style='color:grey;text-align:center'>Retour vers la page d'accueil</a>
                    </div>";
                    exit();
                } else {
                    header("Location:index_demandeur.php"); 
                    exit();
                }
            }
        }
        
    }

    public function viewParticipant($id) {
        $data = null;
        $query = "SELECT participantID, programmeChoisi, nomParticipant, prenomParticipant, fonctionParticipant, serviceParticipant FROM participant WHERE participantID = " . $id;
        if($sql = $this->conn->query($query)) {
            while($row = mysqli_fetch_assoc($sql)) {
                $data[] = $row;
            }
        }
        return $data;   
    }  

    public function getAllParticipantByFormation($formaid) {
        $data = null;
        $query = "SELECT P.participantID
        ,P.formaChoisi
        ,P.nomParticipant
        ,P.prenomParticipant
        ,P.fonctionParticipant
        ,P.serviceParticipant
        ,F.formaID 
        FROM participant P
        LEFT JOIN forma F  ON P.formaChoisi = F.formaID
        ORDER BY formaID ASC
        WHERE formaID = " .$formaid;
        if($sql = $this->conn->query($query)) {
            while($row = mysqli_fetch_assoc($sql)) {
                $data[] = $row;
            }
        }
        return $data;
    }   
}
?>

 

Merci d'avance pour les aides que vous m'apporterez

Link to comment
Share on other sites

Bonjour,

Comme vous avez pu le lire dans les règles du forum, ce forum est un forum destiné aux professionnels de l'informatique. 
Nous n'apportons pas d'aide aux utilisateurs finaux, ce qui semble être le cas à la vue de votre demande.
Si vous cherchez un technicien informatique ou quelqu'un pour vous aider, vous devriez trouver votre bonheur dans notre annuaire des techniciens informatique.
Si au contraire vous êtes informaticiens, vous pouvez vous présentez sur ce forum pour que nous fassions plus ample connaissance.

Je ferme donc ce sujet.

Bien cordialement,

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...