Résultat par page [Résolu]

Signaler
Messages postés
116
Date d'inscription
lundi 20 novembre 2000
Statut
Membre
Dernière intervention
30 août 2006
-
Messages postés
2268
Date d'inscription
mercredi 27 novembre 2002
Statut
Membre
Dernière intervention
13 septembre 2013
-
hello,

je parcours un dossier selon le code ci-dessous.

$tableau = array();
$dossier = opendir ('images/photos/');
while ($fichier = readdir ($dossier))
{
    if ($fichier != '.' && $fichier != '..')
    {
     $tableau[] = $fichier;
    }
}
closedir ($dossier);

ça me sors toutes les images de ce répertoire. comment faire pour afficher que 5 images par page en sachant qu'il y en 20 ?

merci bcp !

kenny #18

10 réponses

Messages postés
2268
Date d'inscription
mercredi 27 novembre 2002
Statut
Membre
Dernière intervention
13 septembre 2013
3
Salut!
Tu définis un min et un max pour ton for...

Soit:
$nb_p_page = 5; // nombre d'items par page
// $current défini ailleurs: page courante

$min = ( $current - 1 ) * $nb_p_page;
$max = $min + $nb_p_page;

for( $i = $min; $i < $max; $i++ )
{
  echo $array[ $i ];
}

Non? Ou j'ai mal compris?

@++

R@f

www.allpotes.ch: Photos, humour, vidéos, gags, ...
"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
Messages postés
2268
Date d'inscription
mercredi 27 novembre 2002
Statut
Membre
Dernière intervention
13 septembre 2013
3
Salut!

Si ton nombre total d'imgs est $total_imgs, après:
$max = $min + $nb_p_page;

Tu met:
if( $total_imgs < $max )
  $max = $total_imgs;

@++

R@f

www.allpotes.ch: Photos, humour, vidéos, gags, ...
"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
Messages postés
2350
Date d'inscription
mercredi 13 octobre 2004
Statut
Membre
Dernière intervention
18 avril 2015
3
Voir les scripts de pagination :)
Messages postés
166
Date d'inscription
lundi 17 janvier 2005
Statut
Membre
Dernière intervention
8 avril 2007
1
Après avoir mis tout tes fichiers dans ton tableau (le fait de tout les prendre chaque fois n'est pas un problème pour toi s'il n'y en a que 20), tu fais une boucle qui en affiche 5. Tu mets également des liens de Page 1 à Page 4 et tu passe en variable GET page= et ton numéro de page (de 0 à 3). Voici un exemple de boucle que tu peux utiliser.
$page = (isset($_GET['page')) ? intval($_GET['page']) : 0;


for ($i = 0 ; $i < 5 ; $i++)


{


     echo '
}

Tu peux également ajouter une protection au cas où il n'y aurait pas réellement 20 photos et un count() pour savoir combien de page il faut. Je crois que ca devrait te donner une bonne idée de comment faire.
----------------
eXon
Messages postés
2268
Date d'inscription
mercredi 27 novembre 2002
Statut
Membre
Dernière intervention
13 septembre 2013
3
Et pour les liens: http://www.phpcs.com/codes/NUMEROS-PAGE_24067.aspx :)

@++

R@f

www.allpotes.ch: Photos, humour, vidéos, gags, ...
"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
Messages postés
116
Date d'inscription
lundi 20 novembre 2000
Statut
Membre
Dernière intervention
30 août 2006

hi,

l'affichage pour le nombre de page et les liens, pas de problèmes de ce côté-là, c'est ok.

Mon seul problème, et que je n'arrive pas malgré toute la journée de recherche hier, c'est de faire l'équivalent de "LIMIT" d'une requête SQL de mon code affiché au premier message.

J'utilise "count($tableau)" pour connaître le nombre de fichier que contient mon répertoire. Je n'arrive pas à mettre le code juste pour dire qu'à la page 1, je veux les photos 1 à 5, à la page 2 les photos 6 à 10 et ainsi de suite...

j'espère être un peu plus clair...???

encore merci !

kenny #18
Messages postés
116
Date d'inscription
lundi 20 novembre 2000
Statut
Membre
Dernière intervention
30 août 2006

Salut Coockiesch,


Je vais essayer ta méthode et te dirai si cela fait l'effet escompté.


a+

kenny #18
Messages postés
116
Date d'inscription
lundi 20 novembre 2000
Statut
Membre
Dernière intervention
30 août 2006

hi coockiesch,


j'ai quand même un soucis...


j'ai fait selon ton idée, adapté à mon code MAIS : si je veux afficher 5 images par page et que dans mon dossier j'en ai 17 par exemple, ça va m'afficher 4 pages => ok, mais à la 4ème page, il va m'afficher correctement les images 16 et 17 puis il continue de compter pour s'arrêter jusqu'à 20 ==> ce qui est logique puisque 17/5 arrondi au multiple de 5 supérieur = 20.

comment faire maintenant pour dire à la bêbette "arrête-toi à la dernière image et va pas plus loin..." ????

Thanks a lot

kenny #18
Messages postés
116
Date d'inscription
lundi 20 novembre 2000
Statut
Membre
Dernière intervention
30 août 2006

la classe !


je te remercie infiniment !!!!!!!!!!!!!!!!!!!!!!!!!

kenny #18
Messages postés
2268
Date d'inscription
mercredi 27 novembre 2002
Statut
Membre
Dernière intervention
13 septembre 2013
3
Pas de pb, :)
Bonne soirée!

www.allpotes.ch: Photos, humour, vidéos, gags, ...
"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"