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 :

problème avec la barre de navigation en PHP


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Mai 2006
    Messages
    705
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 705
    Par défaut problème avec la barre de navigation en PHP
    Salut à tous,
    J'ai le code suivant qui me permet d'afficher une barre de navigation contenant le suivant, précedent, etc.....
    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
     
    function naviguer()
    {
    // on fixe la limite
     // $limite = 3;
     
      // on recupere le numéro du premier client à afficher
     
     if (isset($_GET['page'])) 
     
    	$page = intval($_GET['page']);
    	else
    	{
    	$page = 0;
     	}
     
      // on essaye d'acceder à la base de données
     
      if
      (!$res = mysql_query('SELECT COUNT(*) FROM espace_client'))die(mysql_error());
     
      // on recupere le nombre total de client
     
      $total = mysql_result($res, 0);
     
     
      // on genere les liens precedent et suivant
     
      $url = '<a href="'.$_SERVER['PHP_SELF'].'?page=%d">%s</a>';
     
     
      if ((($page ==0) or ($page <1))) $begin =  'Debut';
      else $begin = sprintf($url,0,'Debut'); 
     
      if (($page <1))  $previous =  'Precedent';
      else $previous = sprintf($url,$this->page-1, 'Precedent');    
     
      if ((($page+1) > ($total /$this->limite)) or ($page+1==($total /$this->limite)))   $next = 'Suivant';
      else $next = sprintf($url, $this->page+1, 'Suivant');      
     
      if  ((($page+1) > ($total /$this->limite)) or ($page+1==($total /$this->limite)))  $end = 'Dernier';
      else 
      		if(($total % $this->limite)!=0)  $end = sprintf($url,($total /$this->limite), 'Dernier'); 
    		else
      			$end = sprintf($url,($total /$this->limite)-1, 'Dernier'); 
     
     
      $liens = "<table border='1' cellpadding='2' cellspacing='2'>"
       ."\n    <tr align='center'>"
       ."\n     <td width='90' class='naviguer'><< $begin</td>"
       ."\n     <td width='90' class='naviguer'>< $previous</td>"
       ."\n     <td width='90' class='naviguer'>$next ></td>"
       ."\n     <td width='90' class='naviguer'>$end >></td>"
       ."\n    </tr>"
       ."\n   </table>"
       ."\n   ";
    echo $liens;
    J'ai voulu l'appliquer dans une autre page sous la forme de :
    avec $esp bien sûr n'est qu'une instanciation de la classe dont la fonction naviger() appartient....
    J'exécute, tout est bon, mais le problème içi, c'est que quand je clique sur suivant dans la barre de navigation pour passer à la page suivante du tableau-résulat(même chose pour dernier), la page d'acceuil, c'est elle , qui s'affiche.... donc j'ai pensé que l'erreur provient du ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $url = '<a href="'.$_SERVER['PHP_SELF'].'?page=%d">%s</a>';
    Qu'en pensez-vous? Avez-vous une solution?

  2. #2
    Membre éprouvé
    Homme Profil pro
    Technophile Web
    Inscrit en
    Mai 2007
    Messages
    930
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Technophile Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 930
    Par défaut
    tu peux expliquer ce que tu demande en gros ?
    c'est vague

    moi je pense que tuu devrais implémenter le patron singleton
    (avoir une instance static du type de la classe de naviguer que l'on instancie à null, avoir un constructeur privé, et avoir une méthode statique qui retorune l'instance statique toiut en ayant testé si elle est non null si elle est null cette méthode fait appel au constructeur de la classe).

  3. #3
    Membre éclairé
    Inscrit en
    Mai 2006
    Messages
    705
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 705
    Par défaut
    je voulais dire: Avez-vou une solution pour mon problème car j'ai eu une fausse exécution

  4. #4
    Membre éclairé
    Inscrit en
    Mai 2006
    Messages
    705
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 705
    Par défaut
    J'ai testé avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      $url = '<a href="?contenu=xx?page=%d">%s</a>';
    puis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if (contenu==xx)   include("xx.php");
    mais c'est toujours le même résultat....

Discussions similaires

  1. [MySQL] Problème avec connection multiple mysql et fonction php
    Par mitchb dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 07/08/2009, 11h41
  2. Problème avec la barre des tâches
    Par Premium dans le forum Windows Vista
    Réponses: 5
    Dernier message: 14/04/2008, 10h51
  3. Problème avec une barre d'outil "perso"
    Par semyr dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 09/01/2008, 15h09
  4. Problème avec une Barre de Progression
    Par hugo69 dans le forum Access
    Réponses: 1
    Dernier message: 15/12/2006, 15h37
  5. Réponses: 7
    Dernier message: 10/06/2006, 14h31

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