IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

EDI, CMS, Outils, Scripts et API PHP Discussion :

Script de pagination


Sujet :

EDI, CMS, Outils, Scripts et API PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Inscrit en
    Mai 2007
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 4
    Par défaut Script de pagination
    Bonjour à tous et joyeux noel,

    Je suis débutant en php et actuellement je boss sur un mini projet qui a besoin d'un système de pagination. En fait je l'ai conçu mais en cliquant sur la page 2 je reviens par défaut sur la page 1 et le lien précédent ne s'affiche pas. Je suis buté depuis des jours et je ne sais pas d'où vient le problème.
    Trouvez ci - dessous mon code de la page si besoin y est:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    <?php
    	$_GET['pgDest'];
    	$_GET['pn'];
    	include 'bdd/connexion.php';
    	/*$sql = "select COUNT(id) from annonces where region = '".$_GET['pgDest']."'";
    	$query = mysql_query($sql) or die ('Erreur SQL <br>' .$sql. '<br>' .mysql_error());
    	$row = mysql_fetch_row($query);
    	$rows = $row[0];*/
    	$page_rows = 10;
    	$last = 10;//ceil($rows/$page_rows);
    	if ($last < 1)
    		{
    			$last = 1;
    		}
    	$pagenum = 1;
    	if (isset($_GET['pn']))
    		{
    			$pagenum = preg_replace('#[^0-9#', '', $_GET['pn']);
    		}
    	if ($pagenum < 1)
    		{
    			$pagenum = 1;
    		}
    	else if ($pagenum > $last)
    		{
    			$pagenum = $last;
    		}
    	$limit = 'LIMIT '.($pagenum - 1) * $page_rows .',' .$page_rows;
    	$dest=$_GET['pgDest'];
    	if ($dest == 'likouala')
    		{
    			$sql = "SELECT * FROM annonces WHERE region='$dest' ORDER BY dannonce DESC $limit";
    			$req = mysql_query($sql) or die ('Erreur SQL <br>' .$sql. '<br>' .mysql_error());
    			$num = mysql_fetch_row($req);
    			if ($num=0)
    				{
    					echo "<!DOCTYPE html >
    						<head>
    							<meta http-equiv='Content-Type' content='text/html; charset=UTF-8' />
    							<meta name='description=' content='Postez ici gratuitement toutes vos annonces. Nous vous donnons la possibilit&eacute; de faire de bonnes affaires 
    							&agrave; moindres co&ucirc;ts' />
    							<title>Kota Tala Somba - Postez votre annonce gratuitement</title>
    							<link rel='stylesheet' type='text/css' href='styles/forme.css' />
    						</head>
    						<body>
    						<div id='corps'>";
    						include 'fichiers/mutu.html';
    						include 'fichiers/menu_g.html';
    						include 'fichiers/recherche.html';
    						echo "<p style='margin:auto; font-weight:bold; color:#F90; text-align:center; margin-bottom:20px;'>Aucune information disponible pour cette recherche. Veuillez entrer un autre crit&egrave;re</p>";		
    						include 'fichiers/footer.html';
    						echo "</div>";
    						echo "</body></html>";
    				}
    			else
    				{
    					//$textline1 = "Annonces  (<b>$total_annonces</b>)";
    					//$textline2 = "Page <b>$pagenum</b> of <b>$nbre_pages</b>";
    					$paginationCtrls = '';
    					if ($last != 1)
    						{
    							if ($pagenum > 1) //si pagenum = 1 le lien precedent n'apparait pas
    								{
    									$precedent = $pagenum - 1;
    									$paginationCtrls .= '<a href="'.$_SERVER['PHP_SELF'].'?pgDest='.$dest.'&pn='.$precedent.'">Pr&eacute;c&eacutedent</a> &nbsp; &nbsp;';
    									for ($i = $pagenum - 4; $i < $pagenum; $i++)
    										{
    											if ($i > 0)
    												{
    													$paginationCtrls .= '<a hhref="'.$_SERVER['PHP_SELF'].'?pgDest='.$dest.'&pn='.$i.'">' .$i. '</a> &nbsp;';
    												}
    										}
    								}
    							$paginationCtrls .= ''.$pagenum.' &nbsp; ';
    							for ($i = $pagenum + 1; $i <= $last; $i++)
    								{
    									$paginationCtrls .= '<a href="'.$_SERVER['PHP_SELF'].'?pgDest='.$dest.'&pn='.$i.'">' .$i. '</a> &nbsp;';
    									if ($i >= $pagenum + 4)
    										{
    											break;
    										}
    								}
    							if ($pagenum != $last)
    								{
    									$suivant = $pagenum + 1;
    									$paginationCtrls .= '<a href="'.$_SERVER['PHP_SELF'].'?pgDest='.$dest.'&pn='.$suivant.'">Suivant</a> &nbsp; &nbsp;';
    								}
    						}
    					$list = '';
    					while ($row = mysql_fetch_array($req, MYSQLI_ASSOC))	
    						{
    							$id = $row['id'];
    							$dannonce = $row['dannonce'];
    							$chemin = "<a class='vignette' href='detail.php?id=".$row['id']."'><img src='" .$row['chemin']. "' width='150px' height='100px' /></a>";
    							$titre = $row['titre'];
    							$description = substr($row['description']. '...',0,150);
    							$prix = $row['prix']. 'FCFA';
    							$tvendeur = $row['tvendeur'];
    							$list .= "<table>
    										<tr>
    											<td width='100px'>" .$dannonce. "</td>
    											<td>" .$chemin. "</td>
    											<td width='160px'>" .$titre. "</td>
    											<td width = '250px'>" .$description. "</td>
    											<td width='150px'>" .$prix. "</td>
    											<td width='120px'>" .$tvendeur. "</td>
    										</tr>
    									  </table>";
    						}
    					}
    		}
    					mysql_close();
    ?>
    <!DOCTYPE html >
        <head>
            <meta http-equiv='Content-Type' content='text/html; charset=UTF-8' />
            <meta name='description=' content='Postez ici gratuitement toutes vos annonces. Nous vous donnons la possibilit&eacute; de faire de bonnes affaires 
            &agrave; moindres co&ucirc;ts' />
            <title>Kota Tala Somba - Postez votre annonce gratuitement</title>
            <link rel='stylesheet' type='text/css' href='styles/forme.css' />
        </head>
        <body>
            <div id="corps">
    			<?php 
    				include 'fichiers/mutu.html';
    				include 'fichiers/menu_g.html';
    				include 'fichiers/recherche.html';
                ?>
                <?php echo $list; ?>
            	<h4><?php echo $paginationCtrls; ?></h4>
                <?php include 'fichiers/footer.html'; ?>
            </div>
        </body>
    </html>
    Je vous prie de m'aider à trouver ce qui ne va pas.

    Merci d'avance.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,



    Tuto clair et efficace.

  3. #3
    Futur Membre du Club
    Inscrit en
    Mai 2007
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 4
    Par défaut Script de pagination
    Bonjour Jireaux62,

    Merci pour ton apport. Mais j'ai une question. Dois - je déclarer la variable page dans mon lien source pour pouvoir le récupérer ?
    Exemple: mapage.php?page=1

    Aussi, dans le code que j'ai affiché, y'a t - il des erreurs ?

    Merci encore.

  4. #4
    Futur Membre du Club
    Inscrit en
    Mai 2007
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 4
    Par défaut Script pagination
    Jreaux62,

    Le problème avec le script que tu m'as donné apparemment ne me permet pas de gérer la pagination. Je n'ai pas l'affichage des liens Précédent et Suivant.

    Merci.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 71
    Par défaut
    Tu peux essayer cette librairie, elle est simple et accessible :

    http://stefangabos.ro/php-libraries/zebra-pagination/

  6. #6
    Invité
    Invité(e)
    Par défaut
    bonjour,
    Citation Envoyé par laads Voir le message
    ...Je n'ai pas l'affichage des liens Précédent et Suivant...
    Et alors ??
    Qu'est-ce qui t'empêche de les créer toi-même ?
    Le tutoriel est pourtant bien commenté, et facile à comprendre.

    Il suffit ensuite de réfléchir soi-même :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?php
    $page_precedente = $pageActuelle - 1; 
    // condition d'affichage du lien: 
    if ($pageActuelle > 1){
              echo ' <a href="xxxxxxxxxx.php?page='.$page_precedente.'">précédente</a> ';
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?php
    $page_suivante = $pageActuelle + 1;  
    // condition d'affichage du lien:  
    if ($pageActuelle < $nombreDePages){
              echo ' <a href="xxxxxxxxxx.php?page='.$page_suivante.'">suivante</a> ';
    }
    Dernière modification par Invité ; 13/02/2015 à 20h51.

Discussions similaires

  1. Réponses: 7
    Dernier message: 25/09/2007, 17h16
  2. Script de pagination
    Par maya24 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 24/09/2007, 23h43
  3. [MySQL] Problème de pagination dans un script.
    Par Scurz dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 13/08/2006, 12h47
  4. [SQL] Problème avec script de pagination et requête sql sur deux tables
    Par psychoBob dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 12/06/2006, 14h06
  5. [MySQL] Problème dans mon script de pagination
    Par speedylol dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 03/11/2005, 19h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo