Array PHP dans un tableau

Résolu/Fermé
a70m Messages postés 2763 Date d'inscription jeudi 21 mai 2009 Statut Contributeur Dernière intervention 2 février 2014 - 19 nov. 2010 à 19:35
a70m Messages postés 2763 Date d'inscription jeudi 21 mai 2009 Statut Contributeur Dernière intervention 2 février 2014 - 19 nov. 2010 à 21:51
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

5 réponses

Utilisateur anonyme
19 nov. 2010 à 19:51
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 jeudi 21 mai 2009 Statut Contributeur Dernière intervention 2 février 2014 217
19 nov. 2010 à 20:00
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
if($i % 5 == 0){
echo "</tr><tr>";
}

que tu place dans boucle évidemment.
0
a70m Messages postés 2763 Date d'inscription jeudi 21 mai 2009 Statut Contributeur Dernière intervention 2 février 2014 217
19 nov. 2010 à 20:08
Tout simplement !
J'essaye, et je te tiens au courant :)
Merci à toi
0
a70m Messages postés 2763 Date d'inscription jeudi 21 mai 2009 Statut Contributeur Dernière intervention 2 février 2014 217
19 nov. 2010 à 20:25
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
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 jeudi 21 mai 2009 Statut Contributeur Dernière intervention 2 février 2014 217
19 nov. 2010 à 20:50
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 lundi 22 mars 2010 Statut Contributeur Dernière intervention 7 mai 2013 29
19 nov. 2010 à 21:47
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 jeudi 21 mai 2009 Statut Contributeur Dernière intervention 2 février 2014 217
19 nov. 2010 à 21:51
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