Probleme boucle while - tableau a deux resultats

Petit nouveau ! | 1 Messages

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

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
Modifié en dernier par heytiti le 29 janv. 2007, 22:16, modifié 1 fois.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

29 janv. 2007, 18:24

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.
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer