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 -
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
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:
- Array PHP dans un tableau
- Tableau word - Guide
- Trier un tableau excel - Guide
- Tableau ascii - Guide
- Imprimer un tableau excel - Guide
- Tableau croisé dynamique - Guide
5 réponses
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.
Avec un compteur que tu incrément à chaque tour de boucle, quand ton compteur vaudra un multiple de 5, le modulo retournera 0.
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
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
Ta solution est la bonne, mais je dois être con !
Mon code est structuré de la manière suivante :
Mais je ne sais pas où placer mon for :/
J'ai essayé ça, mais ça ne marche pas :/
Merci de ta patience
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
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.
<?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.
Salut. Essaye de garder le "while" en ajoutant un compteur.
Un truc dans le genre :
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++; }
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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
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