A voir également:
- Système de pagination PHP
- Restauration systeme - Guide
- Easy php - Télécharger - Divers Web & Internet
- Comment refaire le système d'un ordinateur - Guide
- Pagination powerpoint - Guide
- Cloner disque systeme - Guide
3 réponses
Utilisateur anonyme
4 juil. 2013 à 09:54
4 juil. 2013 à 09:54
salut !
tu as :
et ensuite
il te suffit de rendre paramétrable ce paramètre, dans le même principe de ta gestion de page.
tu auras un truc du genre
et tu test si la valeur est à 0 tu ne mets pas de la limit a ta requete (par exemple)
bne journée !
naga
tu as :
$perPage = 4;
et ensuite
$req = $bdd->query('SELECT * FROM bdd ORDER BY date LIMIT '.($cPage-1)*$perPage.','.$perPage.'');
il te suffit de rendre paramétrable ce paramètre, dans le même principe de ta gestion de page.
tu auras un truc du genre
$perPage = $_GET['PERPAGE'];
et tu test si la valeur est à 0 tu ne mets pas de la limit a ta requete (par exemple)
bne journée !
naga
JooS
Messages postés
2468
Date d'inscription
mardi 22 janvier 2008
Statut
Membre
Dernière intervention
8 juin 2016
228
4 juil. 2013 à 20:26
4 juil. 2013 à 20:26
Salut,
Voici une classe que j'ai créée, il y a un exemple d'utilisation !!
https://github.com/YOoSlim/Public/tree/master/Pagination
Voici une classe que j'ai créée, il y a un exemple d'utilisation !!
https://github.com/YOoSlim/Public/tree/master/Pagination
salut, j'ai pas vraiment le temps de tout lire (je suis au taff ^^) mais de ce que j'ai (rapidement) vu, ca à l'air bon, tu a rendu paramétable ta variable (en assignant la valeur par défaut à 4 ^^).
De ce que je dira, à prioris c'est l'utilisateur qui dit ponctuellement "je veux voir n articles", et donc il faudrai peut être que tu remette la valeur par défaut après un appel de tes éléments, mais c'est du détail. ^^
De ce que je dira, à prioris c'est l'utilisateur qui dit ponctuellement "je veux voir n articles", et donc il faudrai peut être que tu remette la valeur par défaut après un appel de tes éléments, mais c'est du détail. ^^
JooS
Messages postés
2468
Date d'inscription
mardi 22 janvier 2008
Statut
Membre
Dernière intervention
8 juin 2016
228
Modifié par JooS le 5/07/2013 à 15:17
Modifié par JooS le 5/07/2013 à 15:17
Salut,
C'est l'utilisateur (administrateur) qui décide des valeurs par défauts, vu que ces valeurs ne sont pas variables, donc si il veut les changer, il devra le faire manuellement dans la classe.
Il y a plusieurs valeurs par défauts, le 4 c'est le nombre minimum d'articles possible par page, et c'est normale, vu que c'est illogique d'afficher seulement un ou deux articles par page, néanmoins c'est possible de modifier cette valeur !
Donc si tu remarque, ligne 18 et 31 dans la page d'exemple, l'utilisateur (admin) donne plusieurs valeurs, des valeurs négatives, des chaines de caractères, et des valeurs inférieurs a 4(le min), donc ces valeurs sont contrôlés, et seulement ceux valides sont retenus.
De ce que je dira, à prioris c'est l'utilisateur qui dit ponctuellement "je veux voir n articles", et donc il faudrai peut être que tu remette la valeur par défaut après un appel de tes éléments, mais c'est du détail.
Je n'ai pas bien compris ta remarque !
Dans tout les sites qui existent et que j'ai pu voir, l'utilisateur n'a pas une totale liberté concernant le nombre d'articles a afficher par page, donc, c'est l'administrateur qui offre une liste de valeurs (ligne 18) qui sera affiché via une liste déroulante (ligne 42), et l'utilisateur finale pourra utiliser cette liste pour décider du nombre d'articles a afficher par page.
Alors le "n" dont tu parles reste plus ou moins variable, en fonction de ce que l'admin veut offrir.
Si le site est de moyenne taille, alors il suffit que l'admin mette "5 10 20" comme valeurs pour la liste, pas besoin d'aller plus loin vu que c'est inutile.
Si le site est de grande taille, alors l'admin pourra toujours aller plus loin est offrir une liste pour large a ses utilisateurs ...
C'est l'utilisateur (administrateur) qui décide des valeurs par défauts, vu que ces valeurs ne sont pas variables, donc si il veut les changer, il devra le faire manuellement dans la classe.
Il y a plusieurs valeurs par défauts, le 4 c'est le nombre minimum d'articles possible par page, et c'est normale, vu que c'est illogique d'afficher seulement un ou deux articles par page, néanmoins c'est possible de modifier cette valeur !
Donc si tu remarque, ligne 18 et 31 dans la page d'exemple, l'utilisateur (admin) donne plusieurs valeurs, des valeurs négatives, des chaines de caractères, et des valeurs inférieurs a 4(le min), donc ces valeurs sont contrôlés, et seulement ceux valides sont retenus.
De ce que je dira, à prioris c'est l'utilisateur qui dit ponctuellement "je veux voir n articles", et donc il faudrai peut être que tu remette la valeur par défaut après un appel de tes éléments, mais c'est du détail.
Je n'ai pas bien compris ta remarque !
Dans tout les sites qui existent et que j'ai pu voir, l'utilisateur n'a pas une totale liberté concernant le nombre d'articles a afficher par page, donc, c'est l'administrateur qui offre une liste de valeurs (ligne 18) qui sera affiché via une liste déroulante (ligne 42), et l'utilisateur finale pourra utiliser cette liste pour décider du nombre d'articles a afficher par page.
Alors le "n" dont tu parles reste plus ou moins variable, en fonction de ce que l'admin veut offrir.
Si le site est de moyenne taille, alors il suffit que l'admin mette "5 10 20" comme valeurs pour la liste, pas besoin d'aller plus loin vu que c'est inutile.
Si le site est de grande taille, alors l'admin pourra toujours aller plus loin est offrir une liste pour large a ses utilisateurs ...
Bonjour à tous ! Merci pour vos réponses ! J'avais entre temps trouvé une solution, qui fonctionne mais je ne sais pas si c'est optimal et sans faille ! Voici le code :
Puis je laisse le choix à l'utilisateur grâce à une chexbox :
Pour cette checbox, le seul défault est qu'elle ne contient pas deux états coché et décoché car je n'arrive pas à envoyer le formulaire quand on "décoche" la case mais seulement quand on la coche ! (si au passage quelqu'un à la solution ;) )
Donc ce que j'ai fait c'est une checkbox qui reste en permanance décoché puis quand je la coche, cela envoi le formulaire et indique ""Afficher tous les articles" ou "afficher les articles paginés" en fonction du cas !
Avez vous des recommandations quand à cette solutions ???
Merci d'avance !
Cordialement.
<?php try { $bdd = new PDO('mysql:host=localhost;dbname=bdd_p', 'root', ''); } catch(Exception $e) { die('Erreur : '.$e->getMessage()); } $pourpage = $bdd->query('SELECT COUNT(id) as nbArt FROM bdd'); $pourpage_fetch = $pourpage->fetch(); $nbArt = $pourpage_fetch['nbArt']; $perPage = 4; $nbPage = ceil($nbArt/$perPage); if(isset($_GET['p']) && $_GET['p']>0 && $_GET['p']<=$nbPage) { $cPage = $_GET['p']; } elseif(isset($_GET['p']) && $_GET['p'] == "all") { $perPage = $nbArt; $cPage = 1; } else { $cPage = 1; } $pourpage->closeCursor(); $req = $bdd->query('SELECT * FROM bdd ORDER BY date LIMIT '.($cPage-1)*$perPage.','.$perPage.''); //l'affichage des articles et tout et tout.....// Pages : <?php if(isset($_GET['p']) && $_GET['p'] != "all" OR empty($_GET['p'])){ echo "pages :" for($i=1;$i<=$nbPage;$i++) { if($i == $cPage){ echo $i; } else{?><a href="home.php?p=<?php echo $i; ?>" ><?php echo $i; ?></a> <?php } } } ?>
Puis je laisse le choix à l'utilisateur grâce à une chexbox :
<form method="get" action="home.php"> <INPUT type="checkbox" onclick='this.form.submit();' name="p" value="<?php if(isset($_GET['p']) && $_GET['p'] != 'all' OR empty($_GET['p'])){echo 'all';} else{echo "1";} ?>"> <?php if(isset($_GET['p']) && $_GET['p'] != 'all' OR empty($_GET['p'])){ echo "Afficher tous les articles;} else{ echo "Afficher les articles paginés";}?> </form>
Pour cette checbox, le seul défault est qu'elle ne contient pas deux états coché et décoché car je n'arrive pas à envoyer le formulaire quand on "décoche" la case mais seulement quand on la coche ! (si au passage quelqu'un à la solution ;) )
Donc ce que j'ai fait c'est une checkbox qui reste en permanance décoché puis quand je la coche, cela envoi le formulaire et indique ""Afficher tous les articles" ou "afficher les articles paginés" en fonction du cas !
Avez vous des recommandations quand à cette solutions ???
Merci d'avance !
Cordialement.