et que lorsque l'on clique sur le 4 cela affiche :
< 1...4|5|6 >
Merci beaucoup!
dElwinn
Messages postés10Date d'inscriptionjeudi 10 novembre 2011StatutMembreDernière intervention27 avril 20121 1 déc. 2011 à 17:55
Merci beaucoup pour ce code, bien structuré, bien détaillé et bien expliqué, grâce à vous j'ai intégré ma 1ère pagination !
papooh
Messages postés5Date d'inscriptionmardi 18 décembre 2007StatutMembreDernière intervention17 novembre 2011 17 nov. 2011 à 22:26
Il suffit de remplacer split() par preg_split()
marwaphp
Messages postés1Date d'inscriptionmardi 29 mars 2011StatutMembreDernière intervention11 mai 2011 11 mai 2011 à 20:40
Salut,
C'est merveilleux,vraiment merci pour ce code mais stp j'ai un probléme il m'affiche
Deprecated: Function split() is deprecated in C:\wamp\www\pagi.php on line 113
Deprecated: Function split() is deprecated in C:\wamp\www\pagi.php on line 144
Deprecated: Function split() is deprecated in C:\wamp\www\pagi.php on line 173
aussi je veux que le code m'affiche des enregitrement au lieu d'un seul champ.comment je peux le modifier :( ??
Merci d'avance
rachoup
Messages postés7Date d'inscriptionjeudi 28 janvier 2010StatutMembreDernière intervention 2 juillet 2010 30 juin 2010 à 13:35
bon envoies moi ton script dans mon compte perso; tout dépend aussi des paramètres de ton site web. les requêtes sql que tu as injectées auparavant qui peuvent entrainer un conflit dans l'affichage .
frlobe
Messages postés5Date d'inscriptionmercredi 31 mars 2010StatutMembreDernière intervention 4 juin 2010 30 juin 2010 à 01:07
Merci RACHOUP mais j'avais quand même pensé à modifier les paramètres perso avec mes propres infos SQL (DB, table et champs) ... Et ça ne fonctionne toujours. Je n'ai même pas intégér ce code dans mon code. J'ai juste dézippé le fichier, modifié les paramètres perso et ça ne marche pas ...
rachoup
Messages postés7Date d'inscriptionjeudi 28 janvier 2010StatutMembreDernière intervention 2 juillet 2010 29 juin 2010 à 01:28
Merci pour ce code qui fonctionne impec.
si tout le code s'affiche la première idée qui vient à l'esprit est que:
tu n'es connectée à ta base de données ; en d'autres termes remplie les paramètres de connexion à ta base.
nom de la base,
serveur, utilisateur, mot de passe
de plus .....FRLOBE tu devrais remplacer les variables $table et $champ par leurs valeurs respectives dans ta base de données.
quand tu as fini de créer ta base avec la table qui affiche les données de ton livre d'or.
exemple: $table=gold_book;
$champ=membre;
frlobe
Messages postés5Date d'inscriptionmercredi 31 mars 2010StatutMembreDernière intervention 4 juin 2010 16 juin 2010 à 23:12
Bonjour
merci pour ce code qui semble parfait. Qq1 a du modifier le code car pour moi, ça ne fonctionne pas ...
Au moment de l'affichage, voilà ce que j'ai:
La table ".$table." compte ".$nblignes." ".$champ."."; echo "
\n"."On affiche ".$parpage." enregistrements par page, "; echo "soit un total de ".$nbpages." pages.
\n";
etc etc ... enfin tout le reste du code, quoi.
J'ai essayé de trouvé l'astuce, notamment en supprimant les lignes echo, en modifiant les quotes, mais sans succès. Une idée?
Merci d'avance
tupense
Messages postés18Date d'inscriptionmardi 7 février 2012StatutMembreDernière intervention 4 avril 2012 21 sept. 2009 à 14:01
j'ai un message d'erreur qui me dis
while ($ligne = mysql_fetch_array($result))
n'est pas valide
mastertom
Messages postés8Date d'inscriptionlundi 8 octobre 2007StatutMembreDernière intervention24 mai 2009 4 mai 2009 à 14:15
Salut a tous et merci pour ce script "presque" parfait avec l'ajout de "HAMWILLY" maintenant le numéro de la page en cours est en gras mais il manque juste une chose: comment faire s'il on a une centaine de page à afficher et qu'au lieu d'avoir les 100 liens afficher ou veut en afficher que 10 ? par ex : < 1 | 2 | 3 | ... | 97 | 98 | 99 > ?
Merci d'avance ^^
hamwilly
Messages postés1Date d'inscriptionlundi 7 juillet 2008StatutMembreDernière intervention28 avril 2009 28 avril 2009 à 16:23
Je vois que cette question sort souvent donc
pour mettre le numéro de la page en cours rajoute ce qui est entre les /*****************/ dans fonction pagination
---------------------------------------------------------------------------------
function pagination($url,$parpage,$nblignes,$nbpages)
{
// On crée le code html pour la pagination
$html = precedent($url,$parpage,$nblignes); // On crée le lien precedent
// On vérifie que l'on a plus d'une page à afficher
if ($nbpages > 1) {
// On boucle sur les numéros de pages à afficher
for ($i = 0 ; $i < $nbpages ; ++$i) {
$limit = $i * $parpage; // On calcule le début de la valeur 'limit'
$limit = $limit.",".$parpage; // On fait une concaténation avec $parpage
/*************************************/
/*on repere la page pointé*/
$page=position($parpage);
//si y pas de limit c est que cest la première page
if(empty($page)){$page =1;}
echo "ma page est ".$page;
if(($i+1)==$page ){
$html .= " [.$url.$limit. ".($i + 1)."] | " ;
}else{
/*****************************************************************/
// On affiche les liens des numéros de pages
$html . = "[.$url.$limit. ".($i + 1)."] | " ;
/*************n oublies pas la fin du else*/
}
/*****************************************/
}
}
-------------------------------------------------------------------------------------
et tu rajoute dans ton script la fonction
function position($parpage){
if (isset($_GET['limit'])) {
$pointer = split('[,]', $_GET['limit']); // On scinde $_GET['limit'] en 2
$debut = $pointer[0];
$page = ($debut/$parpage)+1;
return $page;
}
}
et je tenais a remercier gigaprint pour le script
bon courage a tous
lakreem
Messages postés8Date d'inscriptionmardi 20 octobre 2009StatutMembreDernière intervention11 mai 2011 30 mars 2009 à 15:07
Comment mettre en valeur le numéro de la page en cours?
tibob135
Messages postés34Date d'inscriptionmercredi 15 août 2007StatutMembreDernière intervention 5 février 2008 14 déc. 2008 à 15:03
Il manque une table mySQL
cs_igrek
Messages postés2Date d'inscriptionmercredi 31 mai 2006StatutMembreDernière intervention17 juin 2008 17 juin 2008 à 12:04
Super ta pagination !!!
Une petite question !
Comment faire pour que lorsque j'ai 25 page cela s'affiche comme ca :
< 1|2|3|4 >
et que lorsque l'on clique sur le 4 cela affiche :
< 1...4|5|6 >
Etc...
Merci beaucoup!
mangaman94
Messages postés3Date d'inscriptiondimanche 7 mars 2004StatutMembreDernière intervention15 juin 2008 15 juin 2008 à 17:25
Bonjour,
Je n'ai pas l'habitude de poster des messages. Mais là, je voulais absolument te féliciter pour ton code. Je développe un site contenant des requêtes assez complexe, et j'ai réussis très rapidement à intégrer ta pagination à mes pages.
Vraiment Merci et Bravo à toi!
cs_catherinef
Messages postés1Date d'inscriptionmercredi 6 décembre 2000StatutMembreDernière intervention22 mars 2008 22 mars 2008 à 01:33
Fantastique
Ca fait des heures que j'essaie de comprendre des scripts pour la pagination et c'est le premier qui fonctionne. C'est merveilleux.
Merci beaucoup.
frakosun
Messages postés10Date d'inscriptionlundi 7 août 2006StatutMembreDernière intervention11 janvier 2008 11 mars 2008 à 00:34
c'est à dire Imoreion?
t'aurais pas un exemple stp?
franckfieldd
Messages postés2Date d'inscriptionsamedi 30 juin 2007StatutMembreDernière intervention24 novembre 2007 25 févr. 2008 à 11:15
Bonjour à tous,
Merci à l'auteur pour ce script vraiment pratique, par contre j'ai un souci avec Register Global sur Off, je n'ai pas la suite des pagination.
Avez-vous le meme probléme ?
Imoreion
Messages postés4Date d'inscriptionsamedi 12 mai 2007StatutMembreDernière intervention 6 février 2008 6 févr. 2008 à 09:47
Bah tu n'as qu'à faire une boucle du genre "si le numéro de page courant = numéro de page de la liste, mettre numéro de page de la liste en vert"...
frakosun
Messages postés10Date d'inscriptionlundi 7 août 2006StatutMembreDernière intervention11 janvier 2008 4 févr. 2008 à 19:39
et quelqu'un sait comment on met en surbrillance (ou autre) la page courante?? c'est le seul défaut
Imoreion
Messages postés4Date d'inscriptionsamedi 12 mai 2007StatutMembreDernière intervention 6 février 2008 4 févr. 2008 à 14:24
Très bon code, très bien commenté, merci ! :D
gfpl
Messages postés172Date d'inscriptionsamedi 11 août 2012StatutMembreDernière intervention 9 avril 2011 26 janv. 2008 à 09:58
oui en effet si tes parametre ne passent pas dans l url ;)
si ta page est vide et que tu n as meme pas le message pas d'enregistrement dans la table
c est que la variable if (isset($_GET[Find]))est 0
dans l url essaie d abbord ca
<form name="Find" action="pagination.php?find" method="POST"> la tu auras au moin qq chose
si ce n est que pas d enregistrement dans la base
mais ton script est pas ideal perso je ne sais pas dans quel but tu le developpe mais si il y a une page blange if faut penser a rectifier ca
dans pagination a la fin du dernier
}
?>
change par
}else{ echo "requete invalide veuillez recommancer"};
?>
le risque va etre si tu change pas ton script du sql injection ;)
developper55
Messages postés123Date d'inscriptionvendredi 28 décembre 2007StatutMembreDernière intervention30 mai 2012 25 janv. 2008 à 12:36
le prob vient de l'url
gfpl
Messages postés172Date d'inscriptionsamedi 11 août 2012StatutMembreDernière intervention 9 avril 2011 24 janv. 2008 à 13:35
si tu peut me contacter en mp je peut te dire eventuellement
sinon je me trompe mais il manque pas un else
if($total===0){
echo 'Pas d\'enregistrements dans cette table...';
}if($total) {
// debut du tableau
developper55
Messages postés123Date d'inscriptionvendredi 28 décembre 2007StatutMembreDernière intervention30 mai 2012 24 janv. 2008 à 12:04
les numèros qui affiche dans url existent , si je fais: SELECT * FROM table LIMIT 2,10,,, elle affiche quelque chose, mais le prob vient de la présence du bouton Submit.
Merci pour ta copération
regarde mon objectif:
J'ai besoin de faire une pagination du résultat d'une menu de recherche:
index.php:
<form name="Find" action=pagination.php method="POST">
<select name=\"secteur\">
<option value=\"-1\">Secteur</option>
<?php
$q = \"select secteur from secteur\";
$resultat = mysql_query($q,$conn);
while ($ligne=mysql_fetch_array($resultat))
{
echo '<option>'.$ligne[\"secteur\"].'</option>';
}
?>
</select>
--------------------------------------------------------------------------
pagination.php
<?php
if (isset($_GET[Find]))
{
// secteur
if ($_GET['secteur'] >-1 && ($_GET['zonegeo'])==-1 )
{
$dom = $_GET['secteur'];
$q= "SELECT * FROM offres WHERE secteur='$dom'";
display($q);
}
// zone
if (($_GET['secteur']) ==-1 && $_GET['zonegeo'] >-1 )
{
$zone =$_GET['zonegeo'];
$q= "SELECT * FROM offres WHERE zonegeo='$zone'";
display($q);
}
function display($q){
include("dbase.php");
$result = mysql_query($q,$conn) or die ('Erreur : '.mysql_error() );
$total = mysql_num_rows($result);
if($total===0){
echo 'Pas d\'enregistrements dans cette table...';
}
if($total) {
// debut du tableau
echo ''.\"\n\";
echo '----
';
echo 'Number, ';
echo 'Localisation, ';
echo 'Date, ' ;
echo ''.\"\n\";
// lecture et affichage des résultats sur 2 colonnes, 1 résultat par ligne.
while($row = mysql_fetch_array($result)) {
echo '----
';
echo ''.$row["index_offres"].', ';
echo ''.$row["zonegeo"].', ';
echo ''.$row["datemaj"].', ';
echo ''.\"\n\";
}
echo '
'."\n";
}
}
?>
</td>
</tr>
</table>
</html>
gfpl
Messages postés172Date d'inscriptionsamedi 11 août 2012StatutMembreDernière intervention 9 avril 2011 23 janv. 2008 à 12:14
ben si tu genere des numero de page ou forcement ces pages n existent pas ca va rien donner
il faut en + donner une referance a ces numero soit un saut dans la base sql soite une page
genre sur l num 35 la ref est index.php?&page=25
et dans le code inclure la page 25
developper55
Messages postés123Date d'inscriptionvendredi 28 décembre 2007StatutMembreDernière intervention30 mai 2012 22 janv. 2008 à 16:34
pour être plus claire,
en fait, j'arrive à voir les les numéros de pages en bas, mais quand je clique par exemple sur le deux, la page sera vide
developper55
Messages postés123Date d'inscriptionvendredi 28 décembre 2007StatutMembreDernière intervention30 mai 2012 22 janv. 2008 à 16:33
désolé, mais j'ai pas trop compris,
pourras tu être un peu plus claire, ou dois je placer ces boucles?
Merci par avance
gfpl
Messages postés172Date d'inscriptionsamedi 11 août 2012StatutMembreDernière intervention 9 avril 2011 22 janv. 2008 à 11:14
normale tu oublie de repeter la boucle j'uque a la fin
<?php
for( $i = 1; $i <= 10; $i++ )
{ // début de la première boucle
echo '| '; // début de ligne
for( $j = 1; $j <= 10; $j++ )
{ // début de la seconde boucle
echo $i * $j . ' | ';
} // fin de la seconde boucle
echo '
'; // fin de ligne
} // fin de la première boucle
?>
developper55
Messages postés123Date d'inscriptionvendredi 28 décembre 2007StatutMembreDernière intervention30 mai 2012 22 janv. 2008 à 11:07
Bonjour,
je sui débutant en php, et jé besoin dun script de pagination, je trouve le votre est super, mais, j'ai un souci :
moi, je voudrai afficher le résultat d'une recherche, et j'utilise pour cela GET ou POSt, mais le souci j'ai seulement la première page et les autres pages ne sont plus afficher;
mixmac
Messages postés1Date d'inscriptiondimanche 24 août 2003StatutMembreDernière intervention10 janvier 2008 10 janv. 2008 à 12:27
Super script mais j'ai une petite question : serait-il possible de mettre en gras le n° de la page sur laquelle on se trouve ?
+1 :)
frakosun
Messages postés10Date d'inscriptionlundi 7 août 2006StatutMembreDernière intervention11 janvier 2008 30 oct. 2007 à 15:44
Il est super ce script, merci et bravo!
un petit détail cependant : ca aurait été parfait avec un style différent pour la page courrante, parce que là avec bcp de résultats on ne sait plus trop ou on est ;)
Vraiment génial ce code.
Il est très bien expliqué en plus. Pour un débutant comme c'est très important.
J'aurais quand même une petite question.
Dans le code à la ligne 86 est marqué :
"Fonctions à copier de préférence dans un fichier 'include/fonctions.inc.php'"
Donc j'ai coupé ce bout de code de "function pagination($url,$parpage,$nblignes,$nbpages)" à "return $suivant;}" et l'ai mis dans un nouveau fichier "fonction.inc.php" dans un dossier "include".
Ensuite j'ai mis à la place de ce code "include("include/fonctions.inc.php");"
Et j'ai un message d'erreur qui apparaît:
"Fatal error: Call to undefined function: validlimit() in /mnt/146/free.fr/f/2/imagimp/creations/wallpapers/wallpapers12.php on line 133"
Que dois-je faire?
Merci
bonnebouffe
Messages postés38Date d'inscriptionlundi 15 septembre 2003StatutMembreDernière intervention24 novembre 2008 19 juil. 2007 à 08:42
Bonjour,
Super script mais j'ai une petite question : serait-il possible de mettre en gras le n° de la page sur laquelle on se trouve ?
Merci d'avance,
Christophe
cs_Yagamiraito
Messages postés1Date d'inscriptiondimanche 22 avril 2007StatutMembreDernière intervention13 juillet 2007 13 juil. 2007 à 14:29
Super script et très bien commenté (moi qui suis débutant j'adore!)
cs_lanner
Messages postés131Date d'inscriptionsamedi 16 avril 2005StatutMembreDernière intervention 8 avril 2015 2 juin 2007 à 17:02
bon ben c'est bon quelques modifications + url rewriting et ca marche :)
cs_lanner
Messages postés131Date d'inscriptionsamedi 16 avril 2005StatutMembreDernière intervention 8 avril 2015 2 juin 2007 à 12:42
j'ai passé des heures et j'y arrive pas héhé, pas su modifier pour utiliser autre chose que "lien.php?limit= dans $url , il faut modifier comment le code pour pouvoir utiliser par exemple & (ou &) peut être que la ca devrait mieux aller pour la validation de la page, merci
cs_lanner
Messages postés131Date d'inscriptionsamedi 16 avril 2005StatutMembreDernière intervention 8 avril 2015 2 juin 2007 à 00:07
super et ca marche du premier coup :) par contre comment le valider w3c à priori le "?" de l'url pose problème, merci
gfpl
Messages postés172Date d'inscriptionsamedi 11 août 2012StatutMembreDernière intervention 9 avril 2011 10 avril 2007 à 10:18
merci ca m as evite de programmer ca :p
Wallom
Messages postés4Date d'inscriptionmercredi 5 janvier 2005StatutMembreDernière intervention23 juin 2008 4 avril 2007 à 03:19
Merci gigaprint !
chizum
Messages postés1Date d'inscriptionvendredi 16 février 2007StatutMembreDernière intervention16 février 2007 16 févr. 2007 à 11:54
Voilà, enfin un code clair et précis. Je vais le tester de suite, car j'ai un gros problème... J'ai une BDD de plus de 400 DVD, et afficher ça d'un coup c'est trop... Alors merci pour ce code.
birken63
Messages postés1Date d'inscriptionmardi 8 mars 2005StatutMembreDernière intervention25 octobre 2006 25 oct. 2006 à 21:59
Encore bravo ! Un des premiers code sur la pagination à marcher du 1er coup. Puis un code trés bien expliqué (peut être trop)
Merci !
gigaprint
Messages postés2Date d'inscriptionmardi 22 août 2006StatutMembreDernière intervention 6 septembre 2006 6 sept. 2006 à 10:59
Il faut régler le nombre par page en fonction du potentiel d'affichage de la requête afin de limiter le nombre de pages à parcourir. Si cela ne convient pas, il faut adapter ce script avec une fonction pour aller de 10 pages en 10 pages par exemple.
Pour ma part, je pense qu'une requête qui affiche trop de pages n'est pas assez précise et qu'il est préférable dans ce cas d'allonger la liste plutôt que d'augmenter le nombre de pages.
Sannazzarotiti
Messages postés228Date d'inscriptionjeudi 1 septembre 2005StatutMembreDernière intervention12 avril 2009 4 sept. 2006 à 10:15
mouais, juste une question car j'ai un doute, peut on limiter le nombre a 6. sa ferait un truc du genre: <<1 2 3 ... 27 28 29>>
30 oct. 2013 à 11:26
Comment faire ?
13 sept. 2012 à 17:22
Merci
29 avril 2012 à 12:37
Moi cela me dit :
Fatal error: Call to undefined function validlimit()
Alors que j'ai juste modifié le $_GET['page'] par $_GET['sp']
Help me :(
14 avril 2012 à 09:39
30 déc. 2011 à 12:21
J'ai une préoccupation car j'ai plusieurs page ..
Une petite question !
Comment faire pour que lorsque j'ai 25 page cela s'affiche comme ca :
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 2 | 4 | 6 | 8 | 10 | 12 | 14 | 16 | 18 | 20 |
et que lorsque l'on clique sur le 4 cela affiche :
< 1...4|5|6 >
Merci beaucoup!
1 déc. 2011 à 17:55
17 nov. 2011 à 22:26
11 mai 2011 à 20:40
C'est merveilleux,vraiment merci pour ce code mais stp j'ai un probléme il m'affiche
Deprecated: Function split() is deprecated in C:\wamp\www\pagi.php on line 113
Deprecated: Function split() is deprecated in C:\wamp\www\pagi.php on line 144
Deprecated: Function split() is deprecated in C:\wamp\www\pagi.php on line 173
aussi je veux que le code m'affiche des enregitrement au lieu d'un seul champ.comment je peux le modifier :( ??
Merci d'avance
30 juin 2010 à 13:35
30 juin 2010 à 01:07
29 juin 2010 à 01:28
si tout le code s'affiche la première idée qui vient à l'esprit est que:
tu n'es connectée à ta base de données ; en d'autres termes remplie les paramètres de connexion à ta base.
nom de la base,
serveur, utilisateur, mot de passe
de plus .....FRLOBE tu devrais remplacer les variables $table et $champ par leurs valeurs respectives dans ta base de données.
quand tu as fini de créer ta base avec la table qui affiche les données de ton livre d'or.
exemple: $table=gold_book;
$champ=membre;
16 juin 2010 à 23:12
merci pour ce code qui semble parfait. Qq1 a du modifier le code car pour moi, ça ne fonctionne pas ...
Au moment de l'affichage, voilà ce que j'ai:
La table ".$table." compte ".$nblignes." ".$champ."."; echo "
\n"."On affiche ".$parpage." enregistrements par page, "; echo "soit un total de ".$nbpages." pages.
\n";
etc etc ... enfin tout le reste du code, quoi.
J'ai essayé de trouvé l'astuce, notamment en supprimant les lignes echo, en modifiant les quotes, mais sans succès. Une idée?
Merci d'avance
21 sept. 2009 à 14:01
while ($ligne = mysql_fetch_array($result))
n'est pas valide
4 mai 2009 à 14:15
Merci d'avance ^^
28 avril 2009 à 16:23
pour mettre le numéro de la page en cours rajoute ce qui est entre les /*****************/ dans fonction pagination
---------------------------------------------------------------------------------
function pagination($url,$parpage,$nblignes,$nbpages)
{
// On crée le code html pour la pagination
$html = precedent($url,$parpage,$nblignes); // On crée le lien precedent
// On vérifie que l'on a plus d'une page à afficher
if ($nbpages > 1) {
// On boucle sur les numéros de pages à afficher
for ($i = 0 ; $i < $nbpages ; ++$i) {
$limit = $i * $parpage; // On calcule le début de la valeur 'limit'
$limit = $limit.",".$parpage; // On fait une concaténation avec $parpage
/*************************************/
/*on repere la page pointé*/
$page=position($parpage);
//si y pas de limit c est que cest la première page
if(empty($page)){$page =1;}
echo "ma page est ".$page;
if(($i+1)==$page ){
$html .= " [.$url.$limit. ".($i + 1)."] | " ;
}else{
/*****************************************************************/
// On affiche les liens des numéros de pages
$html . = "[.$url.$limit. ".($i + 1)."] | " ;
/*************n oublies pas la fin du else*/
}
/*****************************************/
}
}
-------------------------------------------------------------------------------------
et tu rajoute dans ton script la fonction
function position($parpage){
if (isset($_GET['limit'])) {
$pointer = split('[,]', $_GET['limit']); // On scinde $_GET['limit'] en 2
$debut = $pointer[0];
$page = ($debut/$parpage)+1;
return $page;
}
}
et je tenais a remercier gigaprint pour le script
bon courage a tous
30 mars 2009 à 15:07
14 déc. 2008 à 15:03
17 juin 2008 à 12:04
Une petite question !
Comment faire pour que lorsque j'ai 25 page cela s'affiche comme ca :
< 1|2|3|4 >
et que lorsque l'on clique sur le 4 cela affiche :
< 1...4|5|6 >
Etc...
Merci beaucoup!
15 juin 2008 à 17:25
Je n'ai pas l'habitude de poster des messages. Mais là, je voulais absolument te féliciter pour ton code. Je développe un site contenant des requêtes assez complexe, et j'ai réussis très rapidement à intégrer ta pagination à mes pages.
Vraiment Merci et Bravo à toi!
22 mars 2008 à 01:33
Ca fait des heures que j'essaie de comprendre des scripts pour la pagination et c'est le premier qui fonctionne. C'est merveilleux.
Merci beaucoup.
11 mars 2008 à 00:34
t'aurais pas un exemple stp?
25 févr. 2008 à 11:15
Merci à l'auteur pour ce script vraiment pratique, par contre j'ai un souci avec Register Global sur Off, je n'ai pas la suite des pagination.
Avez-vous le meme probléme ?
6 févr. 2008 à 09:47
4 févr. 2008 à 19:39
4 févr. 2008 à 14:24
26 janv. 2008 à 09:58
si ta page est vide et que tu n as meme pas le message pas d'enregistrement dans la table
c est que la variable if (isset($_GET[Find]))est 0
dans l url essaie d abbord ca
<form name="Find" action="pagination.php?find" method="POST"> la tu auras au moin qq chose
si ce n est que pas d enregistrement dans la base
mais ton script est pas ideal perso je ne sais pas dans quel but tu le developpe mais si il y a une page blange if faut penser a rectifier ca
dans pagination a la fin du dernier
}
?>
change par
}else{ echo "requete invalide veuillez recommancer"};
?>
le risque va etre si tu change pas ton script du sql injection ;)
25 janv. 2008 à 12:36
24 janv. 2008 à 13:35
sinon je me trompe mais il manque pas un else
if($total===0){
echo 'Pas d\'enregistrements dans cette table...';
}if($total) {
// debut du tableau
}else {
//debut du tablau
et pourquoi ^$total===0 et non $total==0
regarde ici http://www.phpsources.org/tutoriel-modulos.htm
24 janv. 2008 à 12:04
Merci pour ta copération
regarde mon objectif:
J'ai besoin de faire une pagination du résultat d'une menu de recherche:
index.php:
<form name="Find" action=pagination.php method="POST">
<select name=\"secteur\">
<option value=\"-1\">Secteur</option>
<?php
$q = \"select secteur from secteur\";
$resultat = mysql_query($q,$conn);
while ($ligne=mysql_fetch_array($resultat))
{
echo '<option>'.$ligne[\"secteur\"].'</option>';
}
?>
</select>
----
<select name=\"zonegeo\">
<option value=\"-1\">Localisation</option>
<?php
$qr = \"select zonegeo from region\";
$resultat = mysql_query($qr,$conn);
while ($ligne=mysql_fetch_array($resultat))
{
echo \"<option>\".$ligne[\"zonegeo\"].\"</option>\";
}
?>
</select>
----
</td>
<td></td
</form>
--------------------------------------------------------------------------
pagination.php
<?php
if (isset($_GET[Find]))
{
// secteur
if ($_GET['secteur'] >-1 && ($_GET['zonegeo'])==-1 )
{
$dom = $_GET['secteur'];
$q= "SELECT * FROM offres WHERE secteur='$dom'";
display($q);
}
// zone
if (($_GET['secteur']) ==-1 && $_GET['zonegeo'] >-1 )
{
$zone =$_GET['zonegeo'];
$q= "SELECT * FROM offres WHERE zonegeo='$zone'";
display($q);
}
function display($q){
include("dbase.php");
$result = mysql_query($q,$conn) or die ('Erreur : '.mysql_error() );
$total = mysql_num_rows($result);
if($total===0){
echo 'Pas d\'enregistrements dans cette table...';
}
if($total) {
// debut du tableau
echo ''.\"\n\";
echo '----
';
echo 'Number, ';
echo 'Localisation, ';
echo 'Date, ' ;
echo ''.\"\n\";
// lecture et affichage des résultats sur 2 colonnes, 1 résultat par ligne.
while($row = mysql_fetch_array($result)) {
echo '----
';
echo ''.$row["index_offres"].', ';
echo ''.$row["zonegeo"].', ';
echo ''.$row["datemaj"].', ';
echo ''.\"\n\";
}
echo '
'."\n";
}
}
?>
</td>
</tr>
</table>
</html>
23 janv. 2008 à 12:14
il faut en + donner une referance a ces numero soit un saut dans la base sql soite une page
genre sur l num 35 la ref est index.php?&page=25
et dans le code inclure la page 25
22 janv. 2008 à 16:34
en fait, j'arrive à voir les les numéros de pages en bas, mais quand je clique par exemple sur le deux, la page sera vide
22 janv. 2008 à 16:33
pourras tu être un peu plus claire, ou dois je placer ces boucles?
Merci par avance
22 janv. 2008 à 11:14
<?php
for( $i = 1; $i <= 10; $i++ )
{ // début de la première boucle
echo '| '; // début de ligne
for( $j = 1; $j <= 10; $j++ )
{ // début de la seconde boucle
echo $i * $j . ' | ';
} // fin de la seconde boucle
echo '
'; // fin de ligne
} // fin de la première boucle
?>
Affiche:
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 2 | 4 | 6 | 8 | 10 | 12 | 14 | 16 | 18 | 20 |
| 3 | 6 | 9 | 12 | 15 | 18 | 21 | 24 | 27 | 30 |
| 4 | 8 | 12 | 16 | 20 | 24 | 28 | 32 | 36 | 40 |
| 5 | 10 | 15 | 20 | 25 | 30 | 35 | 40 | 45 | 50 |
| 6 | 12 | 18 | 24 | 30 | 36 | 42 | 48 | 54 | 60 |
| 7 | 14 | 21 | 28 | 35 | 42 | 49 | 56 | 63 | 70 |
| 8 | 16 | 24 | 32 | 40 | 48 | 56 | 64 | 72 | 80 |
| 9 | 18 | 27 | 36 | 45 | 54 | 63 | 72 | 81 | 90 |
| 10 | 20 | 30 | 40 | 50 | 60 | 70 | 80 | 90 | 100 |
22 janv. 2008 à 11:07
je sui débutant en php, et jé besoin dun script de pagination, je trouve le votre est super, mais, j'ai un souci :
moi, je voudrai afficher le résultat d'une recherche, et j'utilise pour cela GET ou POSt, mais le souci j'ai seulement la première page et les autres pages ne sont plus afficher;
<form name="recherche" action=test.php method="POST">
<table width="50" border="0.1" cellspacing="3" cellpadding="0" align="center">
<tr>
<select name="zonegeo">
<option value="-1">Localisation</option>
<?
$qr = "select zonegeo from region";
$resultat = mysql_query($qr,$conn);
while ($ligne=mysql_fetch_array($resultat))
{
echo "<option>".$ligne["zonegeo"]."</option>";
}
?>
</select>
</tr>
</td>
<td></td><td>
</form>
J'apprécie trop vos remarques
10 janv. 2008 à 12:27
+1 :)
30 oct. 2007 à 15:44
un petit détail cependant : ca aurait été parfait avec un style différent pour la page courrante, parce que là avec bcp de résultats on ne sait plus trop ou on est ;)
5 sept. 2007 à 12:44
La ligne 133 de mon code est:
$result = validlimit($nblignes,$parpage,$sql);
5 sept. 2007 à 12:41
Il est très bien expliqué en plus. Pour un débutant comme c'est très important.
J'aurais quand même une petite question.
Dans le code à la ligne 86 est marqué :
"Fonctions à copier de préférence dans un fichier 'include/fonctions.inc.php'"
Donc j'ai coupé ce bout de code de "function pagination($url,$parpage,$nblignes,$nbpages)" à "return $suivant;}" et l'ai mis dans un nouveau fichier "fonction.inc.php" dans un dossier "include".
Ensuite j'ai mis à la place de ce code "include("include/fonctions.inc.php");"
Et j'ai un message d'erreur qui apparaît:
"Fatal error: Call to undefined function: validlimit() in /mnt/146/free.fr/f/2/imagimp/creations/wallpapers/wallpapers12.php on line 133"
Que dois-je faire?
Merci
19 juil. 2007 à 08:42
Super script mais j'ai une petite question : serait-il possible de mettre en gras le n° de la page sur laquelle on se trouve ?
Merci d'avance,
Christophe
13 juil. 2007 à 14:29
2 juin 2007 à 17:02
2 juin 2007 à 12:42
2 juin 2007 à 00:07
10 avril 2007 à 10:18
4 avril 2007 à 03:19
16 févr. 2007 à 11:54
25 oct. 2006 à 21:59
Merci !
6 sept. 2006 à 10:59
Pour ma part, je pense qu'une requête qui affiche trop de pages n'est pas assez précise et qu'il est préférable dans ce cas d'allonger la liste plutôt que d'augmenter le nombre de pages.
4 sept. 2006 à 10:15