Array PHP dans un tableau

Résolu
Bonjour,

J'aimerai afficher le résultat d'une requête SQL dans un tableau de la manière suivante :

|entrée 1|entrée 2|entrée 3|entrée 4|entrée 5 |
|entrée 6|entrée 7|entrée 8|entrée 9|entrée 10|
|entrée 11|entrée 12|entrée 13|entrée 14|entrée 15|

Etc etc

Seulement, dans mon code, je ne sais pas comment ajouter un </tr><tr> toutes les 5 entrées pour lui dire de faire une nouvelle ligne ...

Quelqu'un aurait-il une idée ?

Merci d'avance
Cordialement
a70m
--
Si un jour, l'envie de travailler te prends, assied-toi et attends que ca passe ...
Les boulets, on ne les aime que dans les quotes ! Merci

5 réponses

  1. Contributeur
    Une idée de ce type m'avait éffleurée l'esprit, et je savais qu'il y'avait plus simple que le for() !
    Vincebzh, merci à toi, tu viens de résoudre mon problème !

    Mais merci aussi à pyl159 pour ton aide !
    J'espère que j'aurai l'occasion de pouvoir vous aider prochainement sur le forum.

    Bien à vous 2
    Cordialement
    a70m
    1. Contributeur
      Salut. Essaye de garder le "while" en ajoutant un compteur.
      Un truc dans le genre :
      
      $i = 0;
      while( $data = mysql_fetch_array($result) )  {
          if( $i % 5 == 0 ) {
              echo '</tr><tr>';
          }
          echo '<td>' . $data['row'] . '</td>';
          $i++;
      }
      
      
      1. Contributeur
        Ta solution est la bonne, mais je dois être con !

        Mon code est structuré de la manière suivante :
        <table>
        <tr>
        <?php
        REQUETE SQL
        while
        {
        ?>
        <td><?php echo $id ; ?></td>
        <?php
        }
        ?>
        </tr>
        </table>
        


        Mais je ne sais pas où placer mon for :/

        J'ai essayé ça, mais ça ne marche pas :/

        <table>
        <tr>
        <?php
        REQUETE SQL
        while
        {
        for($i=1;$i<=$nbID;$i++)
        {
        ?>
        <td><?php echo $id ; ?></td>
        <?php
        if($i%5==0)
        {
        echo'</tr><tr>';
        }
        }
        }
        ?>
        </tr>
        </table>
        


        Merci de ta patience
        1. Moi, je ferais cela comme ça :

          <?php
          $query = "Ta requête SQL";
          $result=mysql_query($query);

          echo "<table><tr>";

          for($i=1;$data=mysql_fetch_array($result);$i++)
          {
          if($i % 5 == 0){
          echo "</tr><tr>";
          }
          echo "<td>data["$id"]</td>";

          }
          echo "</tr></table>";
          ?>

          Il faut juste changer la requête SQL.
          Je ne l'ai pas testé, mais ça devrait marcher.
        2. Contributeur
          J'ai tout mis à ma sauce, en adaptant à mon code quoi, mais il n'affiche plus rien :/
          Je savais que ça serait une prise de tête cette idée :(

          même en bidouillant, je ne trouve pas :/.
      2. Contributeur
        Merci de ta réponse :)
        J'ai effectivement pensé au modulo avec un for() avec $i par exemple
        Mais je ne sais pas trop comment lui dire d'afficher "</tr><tr>" quand $i%5==0 ...

        Cordialement
        1. if($i % 5 == 0){
          echo "</tr><tr>";
          }

          que tu place dans boucle évidemment.
        2. Contributeur
          Tout simplement !
          J'essaye, et je te tiens au courant :)
          Merci à toi
      3. As-tu penser au modulo ?
        Avec un compteur que tu incrément à chaque tour de boucle, quand ton compteur vaudra un multiple de 5, le modulo retournera 0.