Probleme de boucle

Résolu
arnold002 Messages postés 121 Date d'inscription mercredi 27 octobre 2004 Statut Membre Dernière intervention 5 mars 2007 - 2 oct. 2005 à 11:53
arnold002 Messages postés 121 Date d'inscription mercredi 27 octobre 2004 Statut Membre Dernière intervention 5 mars 2007 - 2 oct. 2005 à 18:04
Bonjour à tous,

Je cherche à afficher toutes les images contenues dans un répertoire (100 images au total).
Je veux afficher qu'un nombre maxi d'images par page (25 images) et faire des liens pour les pages suivantes.
J'ai un soucis de boucle, voici le code :


$dossier
= opendir ( "." );

while
($fichier = readdir ($dossier)) {
$extent= substr ($fichier,strrpos($fichier, "." ));
$extensaj =strtoupper($extent);
if(
$extensaj= = '.JPG' || $extensaj == '.JPEG' || $extensaj == '.GIF' || $extensaj == '.PNG' ){

$tablo [] =$fichier;
}
}
$nbcol = 6;
//--- dйtermine le nombre de colonnes

$nbligne = 4;
//--- dйtermine le nombre de lignes

echo
( "\" );
$nb_total = count ($tablo);

if
(!isset($_GET['debut'])) $_GET['debut'] = 0;
$nb_affichage_par_page = $nbcol *$nbligne;
$page = ceil($nb_total/$nb_affichage_par_page);
$page_active = floor (($debut/$nb_affichage_par_page)+1);

for(
$i =$_GET[ 'debut' ];$i<$nb_total;$i++){

$valeur = $tablo [$i];
$nom = substr($valeur, 0, -4);

if(
$i%$nbcol= =0)
echo
( \"----
\" );
echo
(\"");
?>

',null,'width =800,height= 600, status=no, directories=no, toolbar=no, location=no, menubar=no, scrollbars=yes, resizable=yes');"><?php echo(
"" width=\"130\" height=\"100\" border=\"0\">
".$nom."
, \"
);

if ($i%$nbcol ==($nbcol-1))
echo
(\"\");
}
echo
("
"
);
echo(
"".barre_navigation($nb_total, $nb_affichage_par_page, $_GET['debut'], 10)."
"
);

closedir ($dossier);

Le probleme vient de ma boucle for puisque sur la 1ère page, toutes les images s'affichent, sur la 2éme page, ça débute bien à $_GET['debut'] et sur les suivantes aussi mais cela affiche toutes les images du répertoire.
Je ne sais pas comment arrêter la boucle à $nb_affichage_par_page et faire repartir la page suivante à $_GET['debut']

Si quelqu'un à une soluce, merci d'avance

2 réponses

superbaloo78 Messages postés 87 Date d'inscription vendredi 29 août 2003 Statut Membre Dernière intervention 19 mai 2006
2 oct. 2005 à 12:46
for(
$i=$_GET['debut'];( $i <
( $nb_affichage_par_page +
$_GET['debut']
) ) && (
$i <
count( $tablo )
)
;$i++){







Je crois que c'est ca que tu veux :)




remplace juste ta boucle :)



ton $nb_total peut etre virer :) c'est ainsi beaucoup plus compréhensible :)




Si ma reponse vous convient, merci de l'accepter pour fermer le sujet
3
arnold002 Messages postés 121 Date d'inscription mercredi 27 octobre 2004 Statut Membre Dernière intervention 5 mars 2007
2 oct. 2005 à 18:04
Merci beaucoup de ta réponse. Ca marche nickel !!
0
Rejoignez-nous