Probleme boucle while - tableau a deux resultats
Posté : 29 janv. 2007, 18:12
Bonjour,
Je realise une galerie en php : les images sont listees dans un tableau et les textes correspondants dans la cellule sous l'image. Mais j'ai un probleme dans mon while. Les textes correspondent bien aux images, mais si on prend une valeur de 4 pour le nombre de colonnes on obtient
image1 image2 image3 image4
texte1 texte2 texte3 texte4
image8 image9 image10 image11
texte8 texte9 texte10 texte11
etc
page visible a :
http://www.chae.fr/2-1.php
le code
J'utilise la variable $compteur_colonnet pour creer la ligne avec les textes quand sa valeur est un nombre pair.
J'ai beau retourner le pb dans tous les sens je ne comprends pas...
La methode est elle mauvaise ? Si c'est le cas, comment imbriquer les resultats de deux requetes while dans un seul tableau ????
merci
Je realise une galerie en php : les images sont listees dans un tableau et les textes correspondants dans la cellule sous l'image. Mais j'ai un probleme dans mon while. Les textes correspondent bien aux images, mais si on prend une valeur de 4 pour le nombre de colonnes on obtient
image1 image2 image3 image4
texte1 texte2 texte3 texte4
image8 image9 image10 image11
texte8 texte9 texte10 texte11
etc
page visible a :
http://www.chae.fr/2-1.php
le code
Code : Tout sélectionner
<?
function GallerieAuto($mini,$hte_def,$dostitres,$nb_colonnes)
{
echo "<table border=\"0\" align=\"center\" cellspacing=\"2\" cellpadding=\"2\" width=\"700\">\n";
$compteur_colonne="0";
$compteur_colonnet="1";
$compteur_texte="0";
$dh = opendir ($mini);
while ($file = readdir($dh))
{
if (($file !=".")&&($file!=".."))
{
if ($compteur_colonnet%2==1)
{
if ($compteur_colonne==0)
{
echo "<tr>\n";
}
if ($compteur_colonne != $nb_colonnes)
{
$image = $mini."/".$file;
$dims = GetImageSize ($image);
$imagegrd = $hte_def."/".$file;
$DimGrand = GetImageSize ($imagegrd);
echo "<td valign=\"center\" align=\"center\">";
print "<a href=\"javascript:VoirImageGrande('".$hte_def."/".$file."',".$DimGrand[0].",".$DimGrand[1].")\"><img src='$mini/$file' $dims[3] border=0></a><br>\n";
echo "</td>\n";
$sstitre=$dostitres."/".$file;
$fp=fopen($sstitre.'.txt','r');
$taillefichier=filesize($sstitre.'.txt');
$aff=fread($fp,$taillefichier);
fclose($fp);
$aff=urldecode($aff);
$afft[$compteur_colonne] = $aff;
}
$compteur_colonne ++;
if ($compteur_colonne == $nb_colonnes)
{
echo "</tr>\n";
$compteur_colonne="0";
$compteur_colonnet ++;
}
}
if ($compteur_colonnet%2==0)
{
if ($compteur_colonne==0)
{
echo "<tr>\n";
}
if ($compteur_colonne != $nb_colonnes)
{
echo "<td bgcolor=\"#eaeaea\" valign=\"center\" align=\"center\"><span class=\"class2\">";
echo $afft[$compteur_colonne];
echo "</span></td>\n";
}
$compteur_colonne ++;
if ($compteur_colonne == $nb_colonnes)
{
echo "</tr>\n";
$compteur_colonne="0";
$compteur_colonnet ++;
}
}
}
}
if ($compteur_colonne !=1)
{
while ($compteur_colonne != $nb_colonnes)
{
echo "<td> </td>";
$compteur_colonne ++;
}
echo "</tr>";
}
echo "</table>";
closedir($dh);
}
?>
J'ai beau retourner le pb dans tous les sens je ne comprends pas...
La methode est elle mauvaise ? Si c'est le cas, comment imbriquer les resultats de deux requetes while dans un seul tableau ????
merci