PHP5 - CLASSE DE PAGINATION MODULABLE

cs_iomega Messages postés 144 Date d'inscription jeudi 24 avril 2003 Statut Membre Dernière intervention 1 septembre 2008 - 18 avril 2006 à 08:47
midouni Messages postés 3 Date d'inscription samedi 17 octobre 2009 Statut Membre Dernière intervention 20 avril 2012 - 20 avril 2012 à 16:51
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/37088-php5-classe-de-pagination-modulable

midouni Messages postés 3 Date d'inscription samedi 17 octobre 2009 Statut Membre Dernière intervention 20 avril 2012
20 avril 2012 à 16:51
lorsque vous maite une condition where dans la raquette alors sa marche pas!!!!!
cs_PIM44 Messages postés 3 Date d'inscription dimanche 27 avril 2003 Statut Membre Dernière intervention 16 juin 2009
16 juin 2009 à 00:41
Remplie parfaitement son rôle le tout proprement en php5, merci :)
finestlyker Messages postés 3 Date d'inscription jeudi 7 février 2008 Statut Membre Dernière intervention 6 décembre 2009
5 déc. 2008 à 22:41
eh comment on insère ton code source car je cherche depuis un bout une source a explorer et apprendre sur la pagination et j'ai trouver la tienne excellente sauf que je trouve pas ou et comment tu dois faire avec ta fonction qu'est que je met exemple $sql = "SELECT * FROM list WHERE id='$id' AND cat='1'";

merci de ton aide ! je suis pas expert mais intermédiaire dans le PHP !
beejeridou Messages postés 35 Date d'inscription lundi 10 avril 2006 Statut Membre Dernière intervention 21 mai 2010
15 sept. 2008 à 11:27
Si aucun message ne s'affiche, c'est tout simplement que tu n'as pas assez de résultats dans ta BDD!
pour tes essais, essaye ça:

$Pagination = new Pagination ( $num_rows, 1 );

Sinon, je trouve que c'est une bonne classe, evidemment à améliorer pour n'afficher par exemple, en cas de nombreux résultats, que les 5 premiers résultats, la page courante et les 5 derniers^^

Bye!
cs_Franquito Messages postés 61 Date d'inscription mardi 5 avril 2005 Statut Membre Dernière intervention 23 décembre 2006
22 sept. 2006 à 11:02
Salut FHX !

Trés jolie classe !!!

Pour ceux a qui cela n'affiche rien, c'est parce qu'il manque les parentheses a generate :

$Pagination->Generate();
hametsu21 Messages postés 37 Date d'inscription mardi 1 novembre 2005 Statut Membre Dernière intervention 24 février 2008
24 avril 2006 à 18:46
De même, rien ne s'affiche... et pas de message d'erreur.
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
21 avril 2006 à 10:05
Hello,

j'ai du retard dans les commentaires et les notes lol...et comme je pars 3 jours, là...
je commente TRES vite et mets une tite note TRES vite :-)
C'est sympa! Je serais toi, je pousserai un peu plus en proposant des options (pas de display...non) : renvoie des numéros de page précédente et suivante, voire de 2 ou 3...ajout de filtres sur la page courante, etc...
mais bon, c'est sympa comme ça :-) Comme tjrs.
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
18 avril 2006 à 14:36
Voila, GRenard a été plus précis que moi sur le portage PHP5 vers PHP4.
cs_iomega Messages postés 144 Date d'inscription jeudi 24 avril 2003 Statut Membre Dernière intervention 1 septembre 2008
18 avril 2006 à 14:16
Re hello j'ai essayé et je n'ai plus de message d'erreur donc merci. Par contre cela ne m'affiche rien.
Voici ce que j'ai fait

$query = mysql_query('SELECT count(*) FROM demande');
$data = mysql_fetch_row($query); // Supposons que vous récupérer le nombre max de news
$num_rows = (int) $data[0];

$Pagination = new Pagination ( $num_rows, 10 ); // Affichera 10 news par page
$Pagination->Generate; // Génére la pagination (peut y avoir d'autres options à changer avant, c'est vous qui voyez !)

if ( isset($Pagination->output) && is_array($Pagination->output) ) { // On vérifie que y'a bien un output, sinon on zap !
$var = ' Page : ';
foreach ( $Pagination->output as $key ) { // On parcours le tableau
if ( $key['id_demande'] ) {
$var .= '[./news.php&'.$Pagination->_getName.'='.$key['nom_demande'].' '.$key['nom_demande'].'] ';
} else {
$var .= $key['nom_demande'].' '; // Si on est sur la bonne page, on met pas de lien.
}
}
$var .= '';
}

if ( isset($var) ) echo $var; // On affiche le tout.
cs_GRenard Messages postés 1662 Date d'inscription lundi 16 septembre 2002 Statut Membre Dernière intervention 30 juillet 2008 1
18 avril 2006 à 13:56
+ Remplacer les public/private/protected par "var" pour les variables.
+ Remplacer __construct par Pagination
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
18 avril 2006 à 13:07
Voui voui c'est du PHP5 :)
Pour la rendre compatible PHP4, il faut enlever tous les "public/private/protected" de ma classe.

Je n'utilise pas de fonction spécialement concu pour PHP5, donc suffit d'enlever que ce que je t'ai mis plus haut et ca fonctionne :)
kiki2sirom Messages postés 153 Date d'inscription mardi 17 août 2004 Statut Membre Dernière intervention 23 décembre 2010
18 avril 2006 à 11:38
ok muff autant pour moi, là j'ai pas vérifié mes sources
je sors ! et bim !
ça m'apprendra à vouloir faire le malin ;)
cs_iomega Messages postés 144 Date d'inscription jeudi 24 avril 2003 Statut Membre Dernière intervention 1 septembre 2008
18 avril 2006 à 11:03
Hello merci du conseil mais cela ne dépend pas de moi et non les classes en PHP sont depuis cette version
kiki2sirom Messages postés 153 Date d'inscription mardi 17 août 2004 Statut Membre Dernière intervention 23 décembre 2010
18 avril 2006 à 10:57
heu il me semble bien que les classes en PHP, c'est PHP5 si je ne m'abuse...

iomega ta version de PHP 4.2.0 commence à dater un peu.

un conseil : www.php.net

kiki
cs_iomega Messages postés 144 Date d'inscription jeudi 24 avril 2003 Statut Membre Dernière intervention 1 septembre 2008
18 avril 2006 à 08:47
Bonjour FhX et bravo pour ce code.
Malheureusement je n'ai pas une version php5 mais php4.2.0 donc je voudrai savoir ce qu'il faut changer pour que cela marche dans une version antérieur car ce code m'intéresse.
Merci beaucoup