Problème de modification d'un code php

MassiV
Invité n'ayant pas de compte PHPfrance

08 mars 2008, 20:32

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

Eléphant du PHP | 250 Messages

08 mars 2008, 22:52

Bonsoir
Déjà ta balise br est mal écrite; c'est <br /> qu'il te faut écrire....Ensuite, ne ferais tu pas mieux d'utiliser une <tr><td>puis une nouvelle <tr><td> pour aligner tout cela verticalement? Si tu colles tout dans un <td> c'est un peu normal que tout soit sur une ligne, non?
Tchô
"L'histoire, à l'image de toutes choses dans l'univers, semble avoir comme unique règle le côté ondulatoire."

MassiV
Invité n'ayant pas de compte PHPfrance

09 mars 2008, 04:28

Merci pour ces infos, quelqu'un m'a filé un coup de main sur un autre forum, donc la page fonctionne maintenant, et je crois bien que il y avait du vrai dans ce que tu dis ^^
Voilà le code qui fontionne si ça t'intérésse.

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


Je te remercie tout de même pour ton aide ;)

ViPHP
ViPHP | 2144 Messages

09 mars 2008, 12:05

Bonjour,

Je me permets juste un conseil: si tu ne veux pas te taper la tête dans les murs, il vaudrait mieux commencer par apprendre à bien maitriser l'html avant de se lancer en php.

Invité
Invité n'ayant pas de compte PHPfrance

09 mars 2008, 14:41

Je ne fait que bidouiller du php, et ne connais que quelques trucs en html, et ça me suffit.

Ce code est un extrait de l'outil nommé phptournoi (http://www.phptournois.net/), je fais quelques modifications pour arriver à mes fins, mais je ne vais pas tous recoder ^^