Array PHP dans un tableau

Résolu
a70m Messages postés 2763 Date d'inscription   Statut Contributeur Dernière intervention   -  
a70m Messages postés 2763 Date d'inscription   Statut Contributeur Dernière intervention   -
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
A voir également:

5 réponses

Utilisateur anonyme
 
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.
0
a70m Messages postés 2763 Date d'inscription   Statut Contributeur Dernière intervention   217
 
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
0
Utilisateur anonyme
 
if($i % 5 == 0){
echo "</tr><tr>";
}

que tu place dans boucle évidemment.
0
a70m Messages postés 2763 Date d'inscription   Statut Contributeur Dernière intervention   217
 
Tout simplement !
J'essaye, et je te tiens au courant :)
Merci à toi
0
a70m Messages postés 2763 Date d'inscription   Statut Contributeur Dernière intervention   217
 
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
0
Utilisateur anonyme
 
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.
0
a70m Messages postés 2763 Date d'inscription   Statut Contributeur Dernière intervention   217
 
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 :/.
0
vincebzh Messages postés 137 Date d'inscription   Statut Contributeur Dernière intervention   29
 
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++;
}

0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
a70m Messages postés 2763 Date d'inscription   Statut Contributeur Dernière intervention   217
 
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
0