Pagination automatique sans BDD

Mammouth du PHP | 686 Messages

24 mars 2007, 00:24

Bonsoir j'ai un code de ce genre qui me liste les pages d'un dossier et qui affiche leur contenu dans une page

Code : Tout sélectionner

............. if($cat == 'so'){ $rep = "social/"; $dir = opendir($rep); while ($fr = readdir($dir)) { if(is_file($rep.$fr)) { include ("$rep/$fr") ; .....................
Je voudrais que quelqun m'aide ou me donne un tuyau pour que les fichiers ne s'affichent pas sur une page qui serait interminable mais en revanche qu'il puisse calculer le nombre de fichiers qu'il y a dans mon dossier pour creer une pagination avec 4 ficher par page sans BDD

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

24 mars 2007, 00:48


/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Mammouth du PHP | 686 Messages

24 mars 2007, 01:19

Merci pour les liens, le deuxième me semble convenir à ma situation. Je vous redit ca demain quand j'aurai tésté ... les novice ca boss pas bien dur :D Encore merci

Mammouth du PHP | 686 Messages

24 mars 2007, 21:23

J'ai essayé d'adapter le code mais rien ne s'affiche mis à part 1 | 2 ca bug d'ou ? voici mon code

Code : Tout sélectionner

if($cat == 'en'){ $rep = "environnement/"; $dir = opendir($rep); $debut=(isset($_GET['page'])) ? $_GET['page'] : 1; $nb_elem= 4; // 4 étant le nombre de dossiers par page $debut *= $nb_elem; // début d'affichage des dossiers $i=1; $page=1; //début des pages $barre= ""; //barre de navigation 1| 2| 3 ..... pages while ($fr = readdir($dir)) { if($i % $nb_elem == 1) // tous les 20 dossiers création d'un lien { $barre .= '<a href="?rubrique='.$rubrique.'&cat='.$cat.'&page='.$page.'" >'.$page.'</a> | '; $page++; } if ($f !="." && $f != "..") { if(is_file($rep.$fr)&& ($i >= $debut && $i <= $debut+$nb_elem )) { include ("$rep/$fr") ; $i++; } $barre .= '<a href="?rubrique='.$rubrique.'&cat='.$cat.'&page='.$page.'" >'.$page.'</a>'; echo '<p>'.$barre.'</p>'; break; } }

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

24 mars 2007, 22:59

et le code source donne quoi?

Et reste sur ce sujet c'est plus clair et compréhensible !

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Mammouth du PHP | 686 Messages

25 mars 2007, 00:08

Je comprend pas la question ... :lol: le code que j'ai adapté est situé plus haut, vous voulez peut être que je vous donne le code original ?

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

25 mars 2007, 00:24

Non, le code source est le code après traitement PHP. Lance la page et fait un clic droit "code source".

Place des "traceurs" dans le code... des echo avec un message personnalisé pour suivre le déroulement du script.

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Mammouth du PHP | 686 Messages

25 mars 2007, 00:30

a ok pas bete, c'est pour voir a quel niveau ca plante c'est bien ca ?

D'après mon code source, il ne m'affiche que le lien de la page 1 et de la page 2 donc autrement dit il n'y a que la fin du code qui marche
echo '<p>'.$barre.'</p>';

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

25 mars 2007, 04:46

a ok pas bete, c'est pour voir a quel niveau ca plante c'est bien ca ?
C'est bien ça... dans chaque test if() tu places un echo avec un message du style :
echo "<p>Test if (machin) OK</p>";

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Mammouth du PHP | 686 Messages

25 mars 2007, 13:50

ok je tente ca dans la journée et je te redit ca

Mammouth du PHP | 686 Messages

25 mars 2007, 21:39

Apparament ca bloque ici
if(is_file($rep.$fr)&& ($i >= $debut && $i <= $debut+$nb_elem )) 
   { 
          include ("$rep/$fr") ; 
                  $i++; 
} 

Mammouth du PHP | 686 Messages

26 mars 2007, 20:27

quelqun pourait m'aider parce que là je seche !