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. 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.
    1. 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
    2. 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 :/.
    3. 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
        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