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 :

erreur dans le cas d'affichage dans plusieurs pages


Sujet :

Langage PHP

  1. #1
    Membre du Club Avatar de hadjiphp
    Inscrit en
    Décembre 2008
    Messages
    155
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 155
    Points : 43
    Points
    43
    Par défaut erreur dans le cas d'affichage dans plusieurs pages
    Bonjour,
    je utilise un autre code qui permet d'afficher des resultats dans plusieurs pages.
    j'arrive a afficher la premiére partie (par exemple 5resultat par page) et elle affiche aussi le nombre maximum des pages (depend des resultats).
    ma question est le suivant :
    j'arrive pas a afficher la suite des pages quand je clic sur le lien elle affiche ce message d'erreur :
    Notice: Undefined variable: PHP_SELF in e:\easyphp1-8\www\application\navig.php on line 32
    l'erreur est dans la page "navig.php"
    voila le code "navig.php":
    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
     
    <?php 
    function navigateur($nblignes,$debut,$limite)
    { 
        $pages=intval($nblignes/$limite); 
        if ($nblignes%$limite) $pages++; 
        if ($pages > 1) 
    { 
    ?> 
       <tr> 
              <td> 
    <?php 
            if ($debut>=$limite) { // On ne cree pas de lien "PRECEDENT" si debut vaut 0 
                $precdebut=$debut-$limite; 
                print "<A href=\"$PHP_SELF?debut=$precdebut\"> 
                <img src=\"images/suitegauche.gif\" border=0></A>\n"; 
            } 
            for ($i=1;$i<=$pages;$i++) { // affichage des liens numerotes 
                $nouvdebut=$limite*($i-1); 
                if ($nouvdebut == $debut) {  // numero sans lien
                    print "<b>$i</b>&nbsp;\n";  
                } else { // numero avec lien
                print "<a href=\"$PHP_SELF?debut=$nouvdebut\">$i</a>&nbsp;\n"; 
                } 
            } 
            if ($debut!=$limite*($pages-1)) {  
                $nouvdebut = $debut+$limite;  
                print "<A href=\"$PHP_SELF?debut=$nouvdebut\"> 
                <img src=\"images/suitedroite.gif\" border=0></A>\n"; 
            } 
    ?> 
              </td> 
            </tr> 
    <?php  
        } 
    }
    ?>
    voila le code "exemple.php"
    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
     
    <?php
        require('navig.php');
        $host = "localhost";
        $user = "root";
        $pass = "";
        $bdd  = "INFOS";
        mysql_connect($host,$user,$pass) or die("Can't connect to server");
        mysql_select_db($bdd) or die ("Can't connect to database");
     
    ?>
        <table width="100%" border=0>
          <tr vAlign=top>
            <td>
          <table>
    <?php
        $limite = 5;
        if (empty($debut)) $debut=0;
        $query = "SELECT Count(*) FROM terme";
        $numresultat = mysql_query($query);
        $numrow = mysql_fetch_row($numresultat);
        $nblignes = $numrow[0];
     
        if ($nblignes > 0) {
            $query = "SELECT * FROM terme";
            $query .= " ORDER BY code_doc";
            $query .= " LIMIT $debut,$limite";
            $resultats = mysql_query($query);
            while($row = mysql_fetch_array($resultats)) {
    ?>
            <tr>
              <td><font face=Arial color=#000080 size=2>
                <?php print "$row[terme]"; ?>
                </font></td>
              <td><font face=Arial color=#000080 size=2>
                <?php print "$row[poids]"; ?>
                </font></td>
            </tr>
            <?php
            echo "\n";
            }
    ?>
          </table>
              </td> 
            </tr>
    <?php
            navigateur($nblignes,$debut,$limite);
            mysql_free_result($resultats);
    ?>
          </table>
    <?php
        } else print("Aucun enregistrement, désolé !\n");
    ?>
    svp a ce qu'il ya qlq peut me répondre.
    merci d'avance.

  2. #2
    Membre actif
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2008
    Messages
    185
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2008
    Messages : 185
    Points : 225
    Points
    225
    Par défaut
    Bonsoir,

    Je crois simplement que ton erreur est que ... $PHP_SELF n'est pas défini.
    Tu devrais essayer avec l'autre méthode : $_SERVER[ 'PHP_SELF' ], je crois que l'utilisation de $PHP_SELF est une syntaxe qui n'est plus très utilisable...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     echo '<a href=', $_SERVER[ 'PHP_SELF' ], '?debut=$nouvdebut"><img src="images/suitedroite.gif" border="0" alt="Page suivante" /></a>', PHP_EOL;
    Bonne nuit.

  3. #3
    Membre du Club Avatar de hadjiphp
    Inscrit en
    Décembre 2008
    Messages
    155
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 155
    Points : 43
    Points
    43
    Par défaut
    Bonjour,
    merci pour votre réponse, l'erreur est réglé mais maintenant elle affichera seulement la premiere page et quand je clic sur "suivant" elle ne fonctionne pas (elle affichera rien).
    svp de me répondre.
    Merci d'avance.

Discussions similaires

  1. Requête spéciale dans le cas d'une relation plusieurs à plusieurs
    Par Chauve souris dans le forum Langage SQL
    Réponses: 5
    Dernier message: 03/05/2013, 21h32
  2. Affichage dans un formulaire continu à partir de plusieurs tables liées
    Par Francesco34 dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 09/07/2011, 10h17
  3. Pourquoi Free fonctionne dans un cas et pas dans l'autre
    Par BuzzLeclaire dans le forum Langage
    Réponses: 8
    Dernier message: 25/01/2009, 14h04
  4. Réponses: 2
    Dernier message: 24/01/2008, 19h58
  5. Recherche de valeur dans une feuille et affichage dans une autre
    Par Zebulon777 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 15/05/2007, 09h40

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