[RESOLU] Scinder un tableau avec array_chunk

Petit nouveau ! | 3 Messages

12 déc. 2025, 13:00

Bonjour,
Je voudrais diviser le résultat d'une requête donnant un tableau de 50 lignes environ de manière à afficher un tableau à plusieurs colonnes de 10 lignes chacun. J'ai vu que la fonction "array_chunk" devrait faire l'affaire, mais je ne sais pas l'appliquer à mon code existant.

voici mon code :
........

Code : Tout sélectionner

function afficheTable ($idCategorie) { ?> <table width="100%" border="1" cellspacing="0" cellpadding="2"> <?php global $connect; $req = "select * from membre m, membrecategorie mc where m.idmembre = mc.idmembre and mc.idcategorie = '$idCategorie' order by nom, prenom "; $res = mysqli_query ($connect,$req); while ($row = mysqli_fetch_assoc($res)) { echo '<tr class="TexteNoir"><td bgcolor="#FFF9E4">&nbsp;&nbsp;'.$row['nom'].' '.$row['prenom'].'</td></tr>'; } echo'</table>'; } ?> $idGroupe = $_GET['$idGroupe']; if ($idGroupe == 4) { ?> <table align="center" width="90%" border="2" cellspacing="0" cellpadding="0"> <tr><td align="center" class="TitreBlanc" bgcolor="#545594">Accompagnateurs</td></tr> <tr valign="top"> <td> <?php afficheTable2 (8); echo '</td></tr></table><br />'; }

Mammouth du PHP | 2703 Messages

12 déc. 2025, 18:49

il y a une autre solution qui nécessite moins de changement.
mettre un <tr> avant le while
initialiser un compteur à 0
dans le while, incrémenter le compteur, tous les X passages (modulo), refermer le <tr> et en rouvrir un
après le while, fermer le <tr>

une autre solution avec encore moins de changement, c'est de ne pas faire un tableau html mais obtenir la disposition voulue en css.

Petit nouveau ! | 3 Messages

13 déc. 2025, 10:49

Bonjour,
Merci de votre réponse, mais je ne sais pas si on s'est bien compris. Voilà ce que je cherche à faire :
Résultat actuel de ma requête :
Nom1 Prénom1
Nom2 Prénom 2
Nom3 Prénom 3
Nom4 Prénom 4
Nom5 Prénom 5
Nom6 Prénom 6
Nom7 Prénom 7
Nom8 Prénom 8
Nom9 Prénom 9
Nom n Prénom n
etc......

Je cherche à afficher ce résultat sur plusieurs colonnes ( nombre à définir selon le nombre de ligne - je sais ajouter un bout de script pour compter les lignes)
Si je fixe le nombre de lignes à 4 :
Nom1 Prénom1 Nom5 Prénom 5 Nom9 Prénom 9
Nom2 Prénom 2 Nom6 Prénom 6 Nom n Prénom n
Nom3 Prénom3 Nom7 Prénom 7 ........ ........
Nom4 Prénom 4 Nom8 Prénom 8

A noter que je ne suis pas au top en php, j'arrive à adapter, à modifier un script existant mais c'est tout.
Pouvez-vous avoir la gentillesse de réécrire complètement mon script ?
Merci.

Petit nouveau ! | 3 Messages

16 déc. 2025, 11:01

Après trois jours laborieux, j'ai finalement réussi à écrire ce code moi-même. Merci quand même.
En fait j'aurais du intituler mon message "Transformer le résultat d'une requête à une longue colonne vers un tableau à plusieurs colonnes".
Mon code fonctionne parfaitement. Si certains sont intéressés....