Résultat par page

Résolu
cs_kenny18 Messages postés 116 Date d'inscription lundi 20 novembre 2000 Statut Membre Dernière intervention 30 août 2006 - 26 août 2006 à 17:39
coockiesch Messages postés 2268 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 13 septembre 2013 - 30 août 2006 à 22:08
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

coockiesch Messages postés 2268 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 13 septembre 2013 4
28 août 2006 à 21:18
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???"
3
coockiesch Messages postés 2268 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 13 septembre 2013 4
30 août 2006 à 21:45
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???"
3
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
26 août 2006 à 20:12
Voir les scripts de pagination :)
0
cs_eXon Messages postés 166 Date d'inscription lundi 17 janvier 2005 Statut Membre Dernière intervention 8 avril 2007 1
27 août 2006 à 01:38
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
coockiesch Messages postés 2268 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 13 septembre 2013 4
27 août 2006 à 12:31
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???"
0
cs_kenny18 Messages postés 116 Date d'inscription lundi 20 novembre 2000 Statut Membre Dernière intervention 30 août 2006
27 août 2006 à 14:14
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
0
cs_kenny18 Messages postés 116 Date d'inscription lundi 20 novembre 2000 Statut Membre Dernière intervention 30 août 2006
29 août 2006 à 07:14
Salut Coockiesch,


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


a+

kenny #18
0
cs_kenny18 Messages postés 116 Date d'inscription lundi 20 novembre 2000 Statut Membre Dernière intervention 30 août 2006
30 août 2006 à 21:40
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
0
cs_kenny18 Messages postés 116 Date d'inscription lundi 20 novembre 2000 Statut Membre Dernière intervention 30 août 2006
30 août 2006 à 21:57
la classe !


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

kenny #18
0
coockiesch Messages postés 2268 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 13 septembre 2013 4
30 août 2006 à 22:08
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???"
0
Rejoignez-nous