Partage
  • Partager sur Facebook
  • Partager sur Twitter

mysqli_fetch_array

Sujet résolu
Anonyme
    22 janvier 2020 à 12:19:43

    Bonjour ,

    J'ai une compréhension particulière de cette fonction , si quelqu'un pouvait la valider ou non 

        
        <tbody>
            <?php
            
            $select = "SELECT * FROM membres";
            
            $result = mysqli_query($con, $select);
           
            while ($row = mysqli_fetch_array($result)) {
    
                $id = $row['id'];
                $identifiant = $row['identifiant'];
                $adresse = $row['adresse'];
                $tel = $row['tel'];
                $heure = $row['heure'];
            ?>
                <tr>
                   
                    <td><?php echo $id; ?></td>
                    <td><?php echo $identifiant; ?></td>
                    <td><?php echo $adresse; ?></td>
                    <td><?php echo $tel; ?></td>
                    <td><?php echo $heure; ?></td>
                    <td><button class="btn btn-success btn-xs view_data" id="<?php echo $id; ?>">Voir</button>
                        <button class="btn btn-warning btn-xs edit_data" id="<?php echo $id; ?>">Editer</button>
                        <button class="btn btn-danger btn-xs del_data" id="<?php echo $id; ?>">Supprimer</button></td>
                </tr>
            <?php } ?>
        </tbody>

    le $row permet de récupérer une ligne de résulat sous la forme d'un tableau ,  le while permet  de récupérer toutes les lignes car le $row n'effectue qu'un seule boucle ? c'est bien ça ?

    Maitenant est il necessaire d'utiliser le while , sachant qu'un row est appelé pour chaques  variables ?

    J'espere m'etre fait comprendre :) merci

    -
    Edité par Anonyme 22 janvier 2020 à 12:49:58

    • Partager sur Facebook
    • Partager sur Twitter
      22 janvier 2020 à 13:26:55

      > le while permet de récupérer toutes les lignes car le $row n'effectue qu'un seule boucle ?

      Comme tu le dis toi-même juste avant : un fetch (mysqli_fetch_array) = lecture d'une ligne retournée par la requête, d'où la nécessité, ici, d'avoir une boucle pour parcourir l'ensemble de celles-ci. Le while permet donc de lire tour à tour une ligne renvoyée par la requête jusqu'à atteindre la fin du jeu résultat (ie qu'il n'y en ait plus à lire).

      On ne met pas de while si on attend au plus une ligne du résultat de la requête (requête avec une clause LIMIT 1, une fonction d’agrégation - MAX/SUM/MIN/AVG/... - mais sans clause GROUP BY, avec une clause WHERE qui porte sur une clé primaire ou unique, etc)

      N'hésites pas à faire des var_dump de tes variables, ça aide à visualiser ce qu'il se passe et à vérifier leur contenu par rapport à ce que l'on attend.

      D'ailleurs tu aurais simplement pu faire le test en commentant ou supprimant ta boucle while, tu aurais alors dû voir et comprendre que tu ne faisais que lire et traiter une ligne (la première) renvoyée par ta requête.

      J'espère avoir compris ta question et avoir su t'apporter l'explication que tu attendais.

      -
      Edité par julp 22 janvier 2020 à 13:34:06

      • Partager sur Facebook
      • Partager sur Twitter
      Anonyme
        22 janvier 2020 à 13:39:10

        Franchement merci beaucoup Julp , explication claire net et précise !

        J'ai bien compris maintenant !

        • Partager sur Facebook
        • Partager sur Twitter

        mysqli_fetch_array

        × 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