Bonjour, je galere depuis 3 jours pour réussir à afficher différents éléments lors d'une boucle while.
Je dois afficher une serie d'images issues d'une BDD, l'affichage doit se faire sur 3 colonnes avec en dessous de chaque image affichée l'intitulé de la rubrique à laquelle elle se référe.
C'est un probleme de boucle il me semble car en changeant l'emplacement de mon accolade j'arrive a modifié l'affichage :
Soit j'ai les 3 colonnes sans l'affichage de la rubrique, soit j'ai l'affichage de la rubrique mais dans ce cas l'affichage se fait sur 1 seule colonne. Comme je ne suis pas un expert, je tatonne...
voici le code avec les annotations concernant l'emplacement de l'accolade.
J'espere que quelqu'un pourra me dire d'où provient le probleme,
merci d'avance
Modifié par pareto (25 Mar 2010 - 10:58)
Je dois afficher une serie d'images issues d'une BDD, l'affichage doit se faire sur 3 colonnes avec en dessous de chaque image affichée l'intitulé de la rubrique à laquelle elle se référe.
C'est un probleme de boucle il me semble car en changeant l'emplacement de mon accolade j'arrive a modifié l'affichage :
Soit j'ai les 3 colonnes sans l'affichage de la rubrique, soit j'ai l'affichage de la rubrique mais dans ce cas l'affichage se fait sur 1 seule colonne. Comme je ne suis pas un expert, je tatonne...

voici le code avec les annotations concernant l'emplacement de l'accolade.
require('connexion.inc.php');
$sql_rub = 'Select rubrique_user, nom_rubrique From rubriques Order By rand()';
$result_rub = mysql_query($sql_rub) or die(mysql_error());
while($row_rub = mysql_fetch_assoc($result_rub))
{
$sql_img = 'Select chemin_image From users_images Natural Join users Where rubrique_user='.$row_rub['rubrique_user'].' Order By Rand() Limit 1';
$result_img = mysql_query($sql_img);
$row_img = mysql_fetch_assoc($result_img);
//met les données dans un tableau
$tablo[]=$row_img;
[#red] }// ATTENTION ici si je mets l'accolade la présentation est en 3 colonnes sans l'intitulé des rubriques[/#]
//détermine le nombre de colonnes
$nbcol=3;
echo '<table valign="top">';
$nb=count($tablo); //ici nb=5
for($i=0;$i<$nb;$i++)
{
//les valeurs à afficher
$valeur1=$tablo[$i]['chemin_image'];
$taille= getimagesize($valeur1);
$affiche=122;
// adresse de l'image
$image='uploads/$valeur1';
$taille=getimagesize($valeur1);
$largeur=$taille[0];
$hauteur=$taille[1];
// redimensionner les images en gardant la proportion
//si mon image est verticale ou carrée
if ($hauteur>=$largeur)
{
$hauteur2=$affiche;
$largeur2=round(($hauteur2/$hauteur)*$largeur);
}
//si mon image est horizontale ou carrée
else
{
$largeur2=$affiche;
$hauteur2=round(($largeur2/$largeur)*$hauteur);
}
[#red][#darkred] // } //ATTENTION ici si je mets l'accolade la présentation est en 1 colonne avec l'intitulé des rubriques[/#][/#]
if($i%$nbcol==0)
echo '<tr>';
echo '<td height="155">';
echo '<table>';
echo '<tr>';
echo '<td width="130" height="130" align="center" class="contour2">
<a href="',$valeur1,'" title="image" rel="splash.image">
<div align="center"><img src="',$valeur1,'" width=',$largeur2,' height=',$hauteur2,'></div>
</a>
</td>
<td><img src="img/pix.gif" width=12px">
</td><tr><td align="center" class="noir">
<a href="http://www.monurl.com/rubrique'.$row_rub['rubrique_user'].'">'.$row_rub['nom_rubrique'].'</a>
</td>
</tr>';
echo '</tr>';
echo '</table>';
}
if($i%$nbcol==($nbcol-1))
echo '</td>';
echo '</tr>';
echo '</table>';
J'espere que quelqu'un pourra me dire d'où provient le probleme,
merci d'avance
Modifié par pareto (25 Mar 2010 - 10:58)