Page 1 sur 1

Probleme boucle while - tableau a deux resultats

Posté : 29 janv. 2007, 18:12
par heytiti
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

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>&nbsp;</td>"; $compteur_colonne ++; } echo "</tr>"; } echo "</table>"; closedir($dh); } ?>
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

Posté : 29 janv. 2007, 18:24
par zeus
Modération :
Merci d'utiliser un titre clair et qui correspond bien à ta demande.
Les titres contenant "HELP", "Aidez-moi !" n'apportent rien à la compréhension de ton problème.
Par ailleurs, nous savons déjà par ton message que tu as besoin d'aide.

Tu peux corriger ton titre en éditant ton premier message.

Merci de prendre le temps de lire les règlements.