Jump to content

[RESOLU] Modification d'un code php


Recommended Posts

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

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 :yes:)

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 ? :craint:

Link to comment
Share on other sites

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 );
?>

:craint:

Link to comment
Share on other sites

Génial !!! :iloveyou:

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

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...