MassiV Posted March 8, 2008 Share Posted March 8, 2008 Bonjour, Je cherche depuis un bon moment, mais je ne trouve pas de solution à mon problème. Pour mieux comprendre je vous invite à jeter un oeil sur cette page http://www.massivlan.fr/?page=sponsors Comme vous pouvez le voir les 3 "sponsors" sont les uns à côté des autres, or j'aimerais qu'ils soient les uns en dessous des autres. Voici une partie du code qui affiche cette page, la fonction <br> ne donne rien car j'ai l'impression qu'il y a plusieurs tableaux imbriqués. while($sponsor = $db->fetch($sponsors)) { $tab_sponsors[]=$sponsor; } echo "<table cellspacing=0 cellpadding=0 border=0 class=liste><tr valign=top><td>"; echo "<table cellspacing=10 cellpadding=2 border=0>"; for($i=0;$i<count($tab_sponsors);$i++) { if($i%$config['col_sponsors'] == 0) echo "<tr>"; $sponsor->nom=stripslashes($tab_sponsors[$i]->nom); echo "<td height=100% align=center>"; echo "<table cellspacing=0 cellpadding=0 border=0 height=100% >"; echo "<tr>"; echo "<td class=text2 align=center height=100%><a href=\"?page=sponsors&id=".$tab_sponsors[$i]->id."\"><img border=0 src=\"images/sponsors/".$tab_sponsors[$i]->image."\" title=\"".$tab_sponsors[$i]->nom."\"></a></td>"; echo "</tr>"; echo "<tr>"; echo "<td class=text2 valign=bottom align=center><li class=lib><b>$sponsor->nom</b><br>"; echo "</td>"; echo "</tr></table>"; echo "</td>"; if($i%$config['col_sponsors'] == $config['col_sponsors']-1) echo "</tr>"; } echo "</table></td></tr></table>"; Je commence un peu à désespérer ^^, j'ai testé beaucoup de chose mais je ne trouve rien. Pourriez vous m'aider ? Je vous remercie d'avance Link to comment Share on other sites More sharing options...
bensor Posted March 8, 2008 Share Posted March 8, 2008 Bonjour,Je cherche depuis un bon moment, mais je ne trouve pas de solution à mon problème. Pour mieux comprendre je vous invite à jeter un oeil sur cette page http://www.massivlan.fr/?page=sponsors Comme vous pouvez le voir les 3 "sponsors" sont les uns à côté des autres, or j'aimerais qu'ils soient les uns en dessous des autres. Voici une partie du code qui affiche cette page, la fonction <br> ne donne rien car j'ai l'impression qu'il y a plusieurs tableaux imbriqués. while($sponsor = $db->fetch($sponsors)) { $tab_sponsors[]=$sponsor; } echo "<table cellspacing=0 cellpadding=0 border=0 class=liste><tr valign=top><td>"; echo "<table cellspacing=10 cellpadding=2 border=0>"; for($i=0;$i<count($tab_sponsors);$i++) { if($i%$config['col_sponsors'] == 0) echo "<tr>"; $sponsor->nom=stripslashes($tab_sponsors[$i]->nom); echo "<td height=100% align=center>"; echo "<table cellspacing=0 cellpadding=0 border=0 height=100% >"; echo "<tr>"; echo "<td class=text2 align=center height=100%><a href=\"?page=sponsors&id=".$tab_sponsors[$i]->id."\"><img border=0 src=\"images/sponsors/".$tab_sponsors[$i]->image."\" title=\"".$tab_sponsors[$i]->nom."\"></a></td>"; echo "</tr>"; echo "<tr>"; echo "<td class=text2 valign=bottom align=center><li class=lib><b>$sponsor->nom</b><br>"; echo "</td>"; echo "</tr></table>"; echo "</td>"; if($i%$config['col_sponsors'] == $config['col_sponsors']-1) echo "</tr>"; } echo "</table></td></tr></table>"; Je commence un peu à désespérer ^^, j'ai testé beaucoup de chose mais je ne trouve rien. Pourriez vous m'aider ? Je vous remercie d'avance (du HTML affiché uniquement grâce à des "echo", quelle horreur ) Un rapide examen de ton code HTML (ça n'a rien à voir avec du PHP !) avec Firebug me montre tes sponsors sont sur la même ligne d'un tableau. Ca t'arrive de lire le code source de tes pages HTML ? Link to comment Share on other sites More sharing options...
bensor Posted March 8, 2008 Share Posted March 8, 2008 Bon, j'ai fait un peu de refactoring, que je n'ai pas testé mais qui devrait fonctionner. J'en ai profité pour virer les conditions sur la balise "tr", à mon avis elles ne servaient à rien, sinon à afficher tes sponsors les uns à côté des autres ^^' Etant donné que j'ai fait ça au bloc notes y'a peut-être des fautes de frappes qui m'ont echappé <?php while( $sponsor = $db->fetch( $sponsors ) ) { $tab_sponsors[] = $sponsor; } ?> <table cellspacing="0" cellpadding="0" border="0" class="liste"> <tr valign="top"> <td> <table cellspacing="10" cellpadding="2" border="0"> <?php // Si tu fous le count dans ton for il va le recalculer à chaque fois, très mauvais pour les perfs $cnt_sponsors = count( $tab_sponsors ); for( $i = 0; $i < $cnt_sponsors; $i++ ) { ?> <tr> <?php $sponsor_id = $tab_sponsors[$i]->id; $sponsor_nom = stripslashes( $tab_sponsors[$i]->nom ); $sponsor_image = $tab_sponsors[$i]->image; ?> <td style="height: 100%;text-align: center;"> <table cellspacing="0" cellpadding="0" border="0" height="100%" > <tr> <td class="text2" style="text-align: center;height: 100%;"> <a href="?page=sponsors&id=<?php echo $sponsor_id; ?>"><img border="0" src="images/sponsors/<?php echo $sponsor_image; ?>" title="<?php echo $sponsor_nom; ?>"></a> </td> </tr> <tr> <td class="text2" valign="bottom" align="center"> <ul><li class="lib"><b><?php echo $sponsor_nom; ?></b></li></ul> </td> </tr> </table> </td> </tr> </table> </td> </tr> </table> <?php unset( $sponsor, $tab_sponsors ); ?> Link to comment Share on other sites More sharing options...
MassiV Posted March 9, 2008 Author Share Posted March 9, 2008 Génial !!! Merci bensor ! Tu me sors une grosse épine du pied ^^ Bon pour le code tout moche je m'explique, j'utilise un outil de gestion de tournois nommé "phptournoi", un peu comme Nuked Klan si tu connais ... (http://www.phptournois.net) Donc personnellement je n'ai rien codé, en revanche je m'amuse à bidouiller les différents fichiers de cet outils, afin d'arriver à mes fin (par exemple tout le nouveau design du site que j'ai réussi à intégrer, ou encore la modification du bloc partenaire pour qu'il défile comme celui des sponsors, la Shoutbox que j'ai rajouté etc ...) Et tout ça avec seulement quelques connaissances en html, et bien sûr, google :) Finalement j'ai retravaillé tes modifications pour pouvoir l'intégrer au reste du code de la page, tu va encore crier désolé ^^, mais au moins ça marche :) while( $sponsor = $db->fetch( $sponsors ) ) { $tab_sponsors[] = $sponsor; } echo "<table cellspacing=0 cellpadding=0 border=0 class=liste>"; echo "<tr valign=top>"; echo "<td>"; echo "<table cellspacing=10 cellpadding=2 border=0>"; $cnt_sponsors = count( $tab_sponsors ); for( $i = 0; $i < $cnt_sponsors; $i++ ) { echo "<tr>"; $sponsor_id = $tab_sponsors[$i]->id; $sponsor_nom = stripslashes( $tab_sponsors[$i]->nom ); $sponsor_image = $tab_sponsors[$i]->image; echo "<td height=100% align=center>"; echo "<table cellspacing=0 cellpadding=0 border=0 height=100%>"; echo "<tr>"; echo "<td class=text2 align=center height=100%>"; echo "<a href=\"?page=sponsors&id=".$sponsor_id."\"><img border=0 src=\"images/sponsors/".$sponsor_image."\" title=\"".$sponsor_nom."\"></a>"; echo "</td>"; echo "</tr>"; echo "<tr>"; echo "<td class=text2 valign=bottom align=center>"; echo "<li class=lib><b>$sponsor_nom</b></li>"; echo "</td>"; echo "</tr>"; echo "</table>"; } echo "</td>"; echo "</tr>"; echo "</table>"; echo "</td>"; echo "</tr>"; echo "</table>"; unset( $sponsor, $tab_sponsors ); Pour que tu vois un peu mieux je t'ai upper le code de la page entière, qui n'est qu'une des nombreuses pages de phptournoi http://massivlan.free.fr/sponsors.txt Tu retrouvera preque tout en bas le code ci dessus. Enfin grâce à toi ça marche, j'ai quand même passé plusieurs heures hier et aujourd'hui sur ce problème ^^, donc encore merci tu m'a bien aider :) Link to comment Share on other sites More sharing options...
bensor Posted March 9, 2008 Share Posted March 9, 2008 donc encore merci tu m'a bien aider :) No problemo Link to comment Share on other sites More sharing options...
Space Posted March 9, 2008 Share Posted March 9, 2008 Tu peux mettre le sujet en résolu ? Sinon je ne vois pas l'intérêt d'afficher les balises html du tableau via à chaque fois un echo, à part augmenter le nombre d'instructions à taper. ^^ Link to comment Share on other sites More sharing options...
bensor Posted March 9, 2008 Share Posted March 9, 2008 Sinon je ne vois pas l'intérêt d'afficher les balises html du tableau via à chaque fois un echo, à part augmenter le nombre d'instructions à taper. ^^ Moi j'avais tout bien refactoré en plus Link to comment Share on other sites More sharing options...
MassiV Posted March 9, 2008 Author Share Posted March 9, 2008 Je vous ai expliqué pourquoi ^^, sans les echo, je devrai recoder tout phptournoi, y'en a pour des années tout seul ^^, j'ai pas que ça à faire Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.