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

Langage PHP Discussion :

Pagination / page blanche


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mars 2009
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 14
    Par défaut Pagination / page blanche
    Il y a quelques jours j’essaye de développer la pagination sur une page de recherche.
    J’ai déjà utilisé le même procédure à plusieurs reprises mais pour une cause qui m’est inconnue, je ne réussi pas à bien faire fonctionner celle-ci.
    Tout semble bien fonctionner. Les numéros de page s’affichent et je n’ai pas de message d’erreur mais quand je change de page, rien du tout, page blanche.
    J’apprécierais avoir un peu d’aide. Merci.
    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
    if(isset($_POST['rechercher']) && $_POST['rechercher']!="")
    		{
    			$HTTP_POST_VARS['rechercher'];
     
    			$rowsPerPage = 25;			
    			$pageNum = 1;
    			if(isset($_GET['page']))
    			{
    				$pageNum = $_GET['page'];
    			}
    			$offset = ($pageNum - 1) * $rowsPerPage;
     
    			$result  = mysql_query("requête pour pagination") or die('Error, query failed');
    			$row = mysql_fetch_array($result, MYSQL_ASSOC);
    			$numrows = $row['numrows'];
    			$maxPage = ceil($numrows/$rowsPerPage);
    			$self = $_SERVER['PHP_SELF'];
    			$nav  = '';
     
    			for($page = 1; $page <= $maxPage; $page++)
    			{
    			   if ($page == $pageNum)
    			   {
    				  $nav .= " $page "; 
    			   }
    			   else
    			   {
    				  $nav .= " <a href=\"$self?id=".$_GET['id']."&page=$page\">$page</a> ";
    			   }
    			}
    			if ($pageNum > 1)
    			{
    			   $page  = $pageNum - 1;
    			   $prev  = " <a href=\"$self?id=".$_GET['id']."&page=$page\">[Préc.]</a> ";
     
    			   $first = " <a href=\"$self?id=".$_GET['id']."&page=1\">[|<<]</a> ";
    			}
    			else
    			{
    			   $prev  = '&nbsp;';
    			   $first = '&nbsp;'; 
    			}
     
    			if ($pageNum < $maxPage)
    			{
    			   $page = $pageNum + 1;
    			   $next = " <a href=\"$self?id=".$_GET['id']."&page=$page\">[Suiv.]</a> ";
    				$nbresultats=$rowsPerPage*$pageNum;
    			   $last = " <a href=\"$self?id=".$_GET['id']."&page=$maxPage\">[>>|]</a> ";
    			}
    			else
    			{
    			   $next = '&nbsp;'; 
    			   $last = '&nbsp;'; 
    			   $nb='';
    			   $nbresultats=$nb;
    			}
     
    			echo $first . $prev . $nav . $next . $last;
     
    			$select=	"requête"
    			$select.= " LIMIT $offset, $rowsPerPage";
    			$result = mysql_query($select);
     
    			if(mysql_num_rows($result)!=0)
    			{
    			//AFFICHAGE DU RESULTAT
    			}
    		}

  2. #2
    Membre Expert Avatar de darkstar123456
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    1 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 895
    Par défaut
    il manque un point-virgule à la fin de cette ligne
    si ça ne résoud pas le problème... es-tu certain d'être au moins en error_reporting(E_ALL ^ E_NOTICE) ? et es-tu sur d'etre en display_errors On ?

    DE PLUS, ton code ne sera exécuté QUE s'il existe un $_POST['recherche'] et qu'il n'est pas vide... OR tes liens sont bien évidemment des <a href> qui ne renvoient donc que des données en $_GET !!! je pense finalement que t'as du faire une faute en recopiant ton code ici (c'est un peu con ) et que ton réel problème est que la condition n'est tout simplement pas respectée...

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

    Bien des choses a revoir, mais de toute façon, notes ceci:
    1) $HTTP_POST_VARS est Obsolète et de plus non superglobal !
    2) il est impossible comme dans ton script de recevoir des variables GET et des POST

    comme te l'a expliqué darkstar123456 ta pagination se fait par des liens
    alors si tu mets

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    
    if(isset($_POST['rechercher']) && $_POST['rechercher']!="")
     {
       $HTTP_POST_VARS['rechercher'];
       $rowsPerPage = 25;			
       $pageNum = 1;
       if(isset($_GET['page']))
    	{$pageNum = $_GET['page'];}
    tu ne sera jamais dans ce cas

Discussions similaires

  1. [Directives] Page blanche quand erreur de syntaxe
    Par syl2095 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 12
    Dernier message: 17/02/2006, 15h15
  2. Internet Explorer m'affiche une page blanche
    Par poof65 dans le forum IE
    Réponses: 10
    Dernier message: 15/08/2005, 22h50
  3. Page blanche pour l'impression d'un état
    Par PAINCO dans le forum Access
    Réponses: 2
    Dernier message: 23/06/2005, 14h46
  4. [C#] Page blanche lors avec Response (NFop)
    Par SoaB dans le forum ASP.NET
    Réponses: 2
    Dernier message: 16/06/2005, 16h26
  5. [CR] Avoir seulement une page blanche qd la base est vide???
    Par littleChick dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 13/08/2002, 18h26

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