par
macgawel » 25 nov. 2011, 11:24
Bonjour.
Il faut séparer ton problème :
1. Récupération des données. C'est OK, tu les récupères dans un tableau
$result_categorie.
2. Affichage des données. C'est ici que tu as ton problème.
Du coup, on peut éliminer toute la partie SQL. Un des avantages, c'est que tu vas bien séparer ton code, et le jour où tu voudras changer l'affichage tu n'auras que la partie affichage (

) à modifier... C'est un premier pas vers le modèle
MVC.
Donc, ton problème c'est d'afficher les éléments de ton tableau
$result_categorie deux par deux.
Comme tu pourras plus tard vouloir les afficher par trois, on va faire du général, en utilisant la fonction modulo
%.
Un exemple avec une liste :
$nb_par_ligne = 2; // Nombre d'éléments par ligne
echo "<ul>\n";
/*
On prend chaque élément du tableau
Attention, le tableau commence à Zéro, donc
aller de zéro à (nombre d'éléments - 1)
*/
for ($i = 0; $i < count($result_categorie); $i++) {
/*
Si on veut afficher n éléments, on aura :
0 1 2... (n-1)
n...(2n-1)
2n...
On commence donc une ligne quand le modulo n = 0 (multiple de n).
*/
if ($i % $nb_par_ligne == 0) {
// On ferme une éventuelle ligne intermédiaire
if ($i > 0) echo "</li>\n";
echo "<li>"; // On commence une nouvelle ligne
}
echo $result_categorie[$i];
}
echo "</li></ul>";
Bonjour.
Il faut séparer ton problème :
1. Récupération des données. C'est OK, tu les récupères dans un tableau [b]$result_categorie[/b].
2. Affichage des données. C'est ici que tu as ton problème.
Du coup, on peut éliminer toute la partie SQL. Un des avantages, c'est que tu vas bien séparer ton code, et le jour où tu voudras changer l'affichage tu n'auras que la partie affichage ( :mrgreen: ) à modifier... C'est un premier pas vers le modèle [url=http://fr.wikipedia.org/wiki/Mod%C3%A8le-Vue-Contr%C3%B4leur]MVC[/url].
Donc, ton problème c'est d'afficher les éléments de ton tableau [b]$result_categorie[/b] deux par deux.
Comme tu pourras plus tard vouloir les afficher par trois, on va faire du général, en utilisant la fonction modulo [b]%[/b].
Un exemple avec une liste :
[php]$nb_par_ligne = 2; // Nombre d'éléments par ligne
echo "<ul>\n";
/*
On prend chaque élément du tableau
Attention, le tableau commence à Zéro, donc
aller de zéro à (nombre d'éléments - 1)
*/
for ($i = 0; $i < count($result_categorie); $i++) {
/*
Si on veut afficher n éléments, on aura :
0 1 2... (n-1)
n...(2n-1)
2n...
On commence donc une ligne quand le modulo n = 0 (multiple de n).
*/
if ($i % $nb_par_ligne == 0) {
// On ferme une éventuelle ligne intermédiaire
if ($i > 0) echo "</li>\n";
echo "<li>"; // On commence une nouvelle ligne
}
echo $result_categorie[$i];
}
echo "</li></ul>";
[/php]