Page 1 sur 1
Pagination automatique sans BDD
Posté : 24 mars 2007, 00:24
par sylvaing26
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
Posté : 24 mars 2007, 00:48
par Truc
Posté : 24 mars 2007, 01:19
par sylvaing26
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

Encore merci
Posté : 24 mars 2007, 21:23
par sylvaing26
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;
}
}
Posté : 24 mars 2007, 22:59
par Truc
et le code source donne quoi?
Et reste sur ce sujet c'est plus clair et compréhensible !
Posté : 25 mars 2007, 00:08
par sylvaing26
Je comprend pas la question ...

le code que j'ai adapté est situé plus haut, vous voulez peut être que je vous donne le code original ?
Posté : 25 mars 2007, 00:24
par Truc
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.
Posté : 25 mars 2007, 00:30
par sylvaing26
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>';
Posté : 25 mars 2007, 04:46
par Truc
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>";
Posté : 25 mars 2007, 13:50
par sylvaing26
ok je tente ca dans la journée et je te redit ca
Posté : 25 mars 2007, 21:39
par sylvaing26
Apparament ca bloque ici
if(is_file($rep.$fr)&& ($i >= $debut && $i <= $debut+$nb_elem ))
{
include ("$rep/$fr") ;
$i++;
}
Posté : 26 mars 2007, 20:27
par sylvaing26
quelqun pourait m'aider parce que là je seche !