Partage
  • Partager sur Facebook
  • Partager sur Twitter

Image d'une matière

PhP, HTML

Sujet résolu
    29 septembre 2021 à 6:56:27

    <?php
    
                    if(!empty($rowsall) AND ($rowsallPro)) {
                    foreach($rowsall as $k => $row) {
                        $rowPro = $rowsallPro[$k];
                ?>        
    
                <div class="col">
                    <div class="card" style="width: 28rem;display:inline-block;margin-bottom:20px">
                        <img src="<?php 
                        echo $rowPro['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 $rowPro['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 $rowPro['heurePro'] . "h" . $rowPro['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 btn-warning" 
                                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 
                }
            
            }?>
    <?php 
        include '../model/creerForm.php';
        include '../model/creerPogramme.php';
        include '../model/participant.php';
        $creerForm = new creerForm;
        $creerProgramme = new creerProgramme;
        $participant = new participant;
        $insert = $creerForm->createForm();
        $insertPro = $creerProgramme->createProgramme();
        $insertParticipant = $participant->participant();
        include 'create.php';
        $rowsall = $creerForm->getAllForm();
        $rowsallPro = $creerProgramme->getAllProgramme();
        $rowsallParticipant = $participant->getAllParticipant();
    
    ?>


    Bonjour, je commence Php et j'ai un projet qui porte sur la création de formation. C'est comme un genre de cours qu'on peut participer en fonction des matières créées. 

    En gros, "programme" c'est comme une matière, j'ai réalisé un formulaire avec la method POST pour insérer l'image, le titre, la durée, les descriptions du programme. Et la "formation" qui est le cours, j'ai fait de même, un formulaire pour insérer le nom du programme, le formateur, la durée du programme, etc...

    Lors de la création de formation, tout se passe bien, tout est bien importé. Le problème c'est lors de l'affichage des formations créées, l'image et la durée de la formation ne correspond pas à celui de la formation créées.

    Et là en dessous, comme vous pouvez le voir, l'image ne correspond pas au titre du programme. Et la durée du programme correspond bien à l'image mais pas au reste

    card qui affiche la formation

    • Partager sur Facebook
    • Partager sur Twitter
      30 septembre 2021 à 9:06:53

      J'ai besoin d'aide s'il vous plait😭
      • Partager sur Facebook
      • Partager sur Twitter
        30 septembre 2021 à 10:03:04

        Salut,

        Montre tes méthodes getAllForm et getAllProgramme

        -
        Edité par WillyKouassi 30 septembre 2021 à 10:03:40

        • Partager sur Facebook
        • Partager sur Twitter
        le bienfait n'est jamais perdu
          30 septembre 2021 à 11:35:33

                  public function getAllProgramme() {
                      $data = null;
                      $query = "SELECT programmeID, titreProgramme, sousTitre, descriProgramme, heurePro, minutePro, itemProgramme, modaliteProgramme, imageProgramme FROM programme";
                      if($sql = $this->conn->query($query)) {
                          while($row = mysqli_fetch_assoc($sql)) {
                              $data[] = $row;
                          }
                      }
                      return $data;
                  }

                  public function getAllForm() {
                      $data = null;
                      $query = "SELECT formaID, programme, lieu, formateur, forma_date, forma_time, nb_place FROM forma ORDER BY forma_date ASC";
                      if($sql = $this->conn->query($query)) {
                          while($row = mysqli_fetch_assoc($sql)) {
                              $data[] = $row;
                          }
                      }
                      return $data;
                  }
          • Partager sur Facebook
          • Partager sur Twitter
            30 septembre 2021 à 12:12:32

            Au lieu $rowsallpro[$k] , essaie $rowsallpro[$row['programmeID']]; 

            Mais ta conception n'est pas bonne. 

            PS: Initialise $data = []; avant le if dans tes méthodes. Suivant comment mysql est compilé, tu as l'équivalent mysqli_fetch_all https://www.php.net/manual/fr/mysqli-result.fetch-all.php 

            • Partager sur Facebook
            • Partager sur Twitter
            le bienfait n'est jamais perdu
              30 septembre 2021 à 12:45:02

              public function getAllForm() {
                          $data = null;
                          $query = "SELECT F.formaID
                          ,F.programme
                          ,F.lieu
                          ,F.formateur
                          ,F.forma_date
                          ,F.forma_time
                          ,F.nb_place 
                          ,P.titreProgramme
                          ,P.sousTitre
                          ,P.descriProgramme
                          ,P.heurePro
                          ,P.minutePro
                          ,P.itemProgramme
                          ,P.modaliteProgramme
                          ,P.imageProgramme 
                          FROM forma F
                          LEFT JOIN programme P  ON P.titreProgramme = F.programme
                          ORDER BY forma_date ASC";
                          if($sql = $this->conn->query($query)) {
                              while($row = mysqli_fetch_assoc($sql)) {
                                  $data[] = $row;
                              }
                          }
                          return $data;
                      }

              Dans creerForm.php j'ai fait ceci 

              puis dans mon index où j'affiche tout :

              <?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>
              
              <?php } } ?>

              Merci beaucoup de ton aide, j'ai bien avancé !!!

              • Partager sur Facebook
              • Partager sur Twitter

              Image d'une matière

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown