Aide petit script PHP comprehension
dubuducu
Messages postés
395
Statut
Membre
-
giheller -
giheller -
Bonjour,
voici mon code : je souhaiterai obtenir un tableau avec plusieurs colonnes.
Dès que l'affichage depasse 3lignes par colonnes, le script rajoute une colonne et ainsi de suite.
Pourtant ce script ne m'affiche qu'une seule colonne avec toute les categorie a linterieur
Merci de votre aide
voici mon code : je souhaiterai obtenir un tableau avec plusieurs colonnes.
Dès que l'affichage depasse 3lignes par colonnes, le script rajoute une colonne et ainsi de suite.
$tr = '0';
while ($liste=mysql_fetch_array($result))
{
if($tr == '3')
{$tr = '0' ;}
if($tr == '0')
{
echo '<td>';
}
?>
<tr><a href="#<?
echo $liste['cat_nom'];
?>">
<?
echo $liste['cat_nom'];
?>
</a></tr>
<?
if($tr == '2')
{
echo '</td>';
}
$tr++;
}
Pourtant ce script ne m'affiche qu'une seule colonne avec toute les categorie a linterieur
Merci de votre aide
Configuration: Windows XP Internet Explorer 7.0
9 réponses
-
Voilà ton code indenté différemment
// Attention tu utilises des caractères et pas des entiers !!! $tr = '0'; while ($liste=mysql_fetch_array($result)) { if($tr == '3') { $tr = '0' ; } if($tr == '0') { echo '<td>'; } ?> <tr> <a href="#<? echo $liste['cat_nom']; ?>"><? echo $liste['cat_nom']; ?></a> </tr> <? if($tr == '2') { echo '</td>'; } $tr++; }
J'ai l'impression que c'est n'importe quoi. Tu t'y prends mal. Je vais essayer de te proposer une correction.
En fait tu veux une nouvelle ligne toutes les 3 colonnes c'est ça ? -
-
Oui c'est ce que j'avais remarqué
En HTML pure
ton source HTML devrait ressembler à ça<tr> <td><a href="...">...</a></td><td><a href="...">...</a></td><td><a href="...">...</a></td> <td><a href="...">...</a></td><td><a href="...">...</a></td><td><a href="...">...</a></td> <td><a href="...">...</a></td><td><a href="...">...</a></td><td><a href="...">...</a></td> ... </tr>
A noter que pour la première ligne tu pourrais aussi utiliser TH (Table Header) au lieu de TD (Table Data)
Bon si j'ai bien compris pas besoin de proposer de correction. :)
-
-
je souhaite une nouvelle colonne toutes les 3 lignes par exemple du type :
A D G
B E H etc
C F -
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
@giheller : Votre code me donne A B C D E F G de cette maniere.
if ($tr== '0') { echo "<tr>"; $tr++; } if ($tr== '2') { echo "</tr>"; $tr= '0'; } echo "<td>".$liste['cat_nom']."</td>"; -
je suis vraiment désolé de paraitre si naif mais je ne pige vraiment rien a votre technique.
if ($tr== '0') { echo "<tr>"; $tr++; // j'incremente les lignes } if ($tr== '2') // dès que j'ai deux lignes je remet $tr a zero { echo "</tr>"; $tr= '0'; } echo "<td>".$liste['cat_nom']."</td>"; // ici je ne vois pas pourquoi l'affichage des td se fait ici
Excusez moi encore -
La c'est parfaitement clair, je teste ce code et je vous tien au courant.
-
Merci Giheller pour vos lumieres ! Cela fonctionne parfaitement ! Merci une nouvelle fois
-
l'idée est quand tr=0 c'est une nouvelle ligne
quand a-t-on une nouvelle ligne ?
quand on a écrit 3 colonnes (donc on compte jusqu'à 3 les colonnes) et on remet tr à zero pour une nouvelle ligne
et td à zero pour recompter jusqu'à 3
(comptage de zero à 2)