Partage
  • Partager sur Facebook
  • Partager sur Twitter

Afficher le résultat d'une requête dans un tableau

Sujet résolu
    18 octobre 2020 à 12:14:45

    Bonjour à tous !

    Je me permet de solliciter votre aide afin d'afficher le résultat d'une requête dans un tableau HTML.

    Je souhaiterais obtenir un tableau de cette forme-ci (on ne sait pas à l'avance combien il y aura de lignes, mais le nombre de colonnes est déjà défini) :

     #     Sport    Date et heure
    1    Football  08/09/2020 15:00
    46    Tennis   13/10/2020 18:00
    256 Volleyball 28/10/2020 15:00
    ...    ...           ...

    Cette requête cherche donc tous les tournois sportifs à venir auxquels l'utilisateur est inscrit :

    <?php 
    
    session_start(); 
    
    $id = $_SESSION['id'];
    $date_ajd = date('Y-m-d H:i:s');
    
    try
      {
        $bdd = new PDO('mysql:host=localhost;dbname=steven;charset=utf8', 'root', '');
    
        $jointure = "
        SELECT tournoi.id, tournoi.jeu, tournoi.date_heure
        FROM tournoi
        INNER JOIN inscription
        ON tournoi.id = inscription.id_tournoi
        WHERE inscription.id_joueur = :utilisateur_id AND DATEDIFF(:date_ajd,tournoi.date_heure)>=0";
      
    
        $req = $bdd->prepare($jointure);
        $req->execute(array(
          'utilisateur_id'=>$id,
          'date_ajd' => $date_ajd));
    
        $resulat=$req->fetchAll();
    
        echo '<pre>';
        print_r($resulat);
        echo '</pre>';
      }
      catch(Exception $e)
      {
        die('Erreur : '.$e->getMessage());
      }
      
    ?>

    Ainsi, lorsque l'on fait appel à la fonction print_r() sur le résultat, on obtient quelque chose comme ceci :

    Array
    (
        [0] => Array
            (
                [id] => 2
                [0] => 2
                [sport] => Football
                [1] => Call of Duty
                [date_heure] => 2020-10-05 22:00:00
                [2] => 2020-10-05 22:00:00
            )
    
        [1] => Array
            (
                [id] => 5
                [0] => 5
                [sport] => Tennis
                [1] => Tennis
                [date_heure] => 2020-10-18 09:26:00
                [2] => 2020-10-18 09:26:00
            )
    
    )
    

    Et c'est donc la suite qui me pose problème. En cherchant un peu sur le net, il faudrait effectuer une boucle pour afficher chaque valeur dans sa cellule, mais je ne sais pas du tout comment m'y prendre…

    Dans un premier temps, je pense qu'il faudrait employer la fonction echo() pour renvoyer le squelette du tableau :

    <?php
        echo '<table>
                  <thead>
                      <tr>
                          <th>ID</th>
                          <th>Sport</th>
                          <th>Date</th>
                      </tr>
                  </thead>
                  <tbody>'
    ?>
              

    Je vous remercie d'avance du temps que vous prendrez pour m'aider !



    -
    Edité par Nenatio 18 octobre 2020 à 12:27:46

    • Partager sur Facebook
    • Partager sur Twitter

    Quand le sage montre la lune, l'imbécile regarde le doigt.

      18 octobre 2020 à 12:39:12

      Salut, je t'invite juste à relire le cours, c'est du basique :)

      https://openclassrooms.com/fr/courses/918836-concevez-votre-site-web-avec-php-et-mysql/914293-lisez-des-donnees

      • Partager sur Facebook
      • Partager sur Twitter
        18 octobre 2020 à 12:44:42

        Bonjour,

        Tu vas devoir parcourir ton tableau avec un foreach

        <tbody>
        <?php
        foreach($resultat as $data){
            ?><tr>
                <td><?= $data['id']; ?></td>
                <td><?= $data['sport']; ?></td>
                <td><?= $data['date']; ?></td>
            </tr><?php
        }
        ?>
        </tbody>

        je te laisse adapter à ton code

        • Partager sur Facebook
        • Partager sur Twitter
          19 octobre 2020 à 18:09:32

          Merci à vous deux !

          Effectivement, ce n'était pas si compliqué ^^

          • Partager sur Facebook
          • Partager sur Twitter

          Quand le sage montre la lune, l'imbécile regarde le doigt.

          Afficher le résultat d'une requête dans un tableau

          × 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