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

PHP & Base de données Discussion :

Affichage page par page [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 24
    Par défaut Affichage page par page
    bonjour, j'essaie de faire tourner un script d'affichage page par page.

    j'ai comme erreur:
    Notice: Undefined variable: limite in C:\Program Files\EasyPHP 2.0b1\www\Affichage page par page\Affichage page par page.php on line 22

    Fatal error: Call to undefined function verifLimite() in C:\Program Files\EasyPHP 2.0b1\www\Affichage page par page\Affichage page par page.php on line 46
    les ligne concernées sont:
    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
    //=========================================
    // initialisation des variables 
    //=========================================
    // on va afficher 5 résultats par page.
    $nombre = 5;  
    // si limite n'existe pas on l'initialise à zéro
    if (!$limite) $limite = 0; 
    // on cherche le nom de la page.    
    $path_parts = pathinfo($_SERVER['PHP_SELF']);
    $page = $path_parts["basename"];
    
    et la ligne:
    
    //=========================================
    // vérifier la validité de notre variable 
    // $limite;
    //=========================================
    $verifLimite= verifLimite($limite,$total,$nombre);
    // si la limite passée n'est pas valide on la remet à zéro
    if(!$verifLimite)  {
        $limite = 0;
    }
    si quelqu'un peut m'aider, merci.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 47
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (!$limite) $limite = 0;  => if (empty($limite)) $limite = 0;
    Essaye comme cela.
    Pour la deuxieme erreur, tu es sur que tu as définit la fonction ou quelle porte bien le meme nom???

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Août 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 24
    Par défaut
    merci de m'avoir répondu, je suis débutant en php et effectivement j'ai peut être oublié quelque chose je te mets le script.

    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
    <?php
    //=========================================
    // includes du fichier fonctions
    //=========================================
    require 'fonctions.php';
    //=========================================
    // information pour la connection à le DB
    //=========================================
    $host = '';
    $user = '';
    $pass = '';
    $db = ;
     
    //=========================================
    // initialisation des variables 
    //=========================================
    // on va afficher 5 résultats par page.
    $nombre = 5;  
    // si limite n'existe pas on l'initialise à zéro
    if (!$limite) $limite = 0; 
    // on cherche le nom de la page.    
    $path_parts = pathinfo($_SERVER['PHP_SELF']);
    $page = $path_parts["basename"];
     
    //=========================================    
    // connection à la DB
    //=========================================
    $link = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() );
    mysql_select_db($db) or die ('Erreur :'.mysql_error());
     
    //=========================================    
    // requête SQL qui compte le nombre total 
    // d'enregistrements dans la table.
    //=========================================
    $select = 'SELECT count(id) FROM infos_tbl';
    $result = mysql_query($select,$link)  or die ('Erreur : '.mysql_error() );
    $row = mysql_fetch_row($result);
    $total = $row[0];
     
    //=========================================
    // vérifier la validité de notre variable 
    // $limite;
    //=========================================
    $verifLimite= verifLimite($limite,$total,$nombre);
    // si la limite passée n'est pas valide on la remet à zéro
    if(!$verifLimite)  {
        $limite = 0;
    }
    //=========================================
    // requête SQL qui ne prend que le nombre 
    // d'enregistrement necessaire à l'affichage.
    //=========================================
    $select = 'SELECT nom,prenom,email,icq,titre,url FROM infos_tbl ORDER BY prenom ASC limit '.$limite.','.$nombre;
    $result = mysql_query($select,$link)  or die ('Erreur : '.mysql_error() );
     
    //=========================================    
    // si on a récupéré un resultat on l'affiche.
    //=========================================
    if($total) {
        // début du tableau
        echo '<table bgcolor="#FFFFFF">'."\n";
            // première ligne on affiche les titres prénom et surnom dans 2 colonnes
            echo '<tr>';
            echo '<td bgcolor="#669999"><b><u>nom</u></b></td>';
            echo '<td bgcolor="#669999"><b><u>prenom</u></b></td>';
    	echo '<td bgcolor="#669999"><b><u>email</u></b></td>';
            echo '<td bgcolor="#669999"><b><u>icq</u></b></td>';
    	echo '<td bgcolor="#669999"><b><u>titre du site</u></b></td>';
            echo '<td bgcolor="#669999"><b><u>url du site</u></b></td>';
            echo '</tr>'."\n";
        // lecture et affichage des résultats sur 2 colonnes    
        while($row = mysql_fetch_array($result)) {
            echo '<tr>';
            echo '<td bgcolor="#CCCCCC">'.$row['nom'].'</td>';
            echo '<td bgcolor="#CCCCCC">'.$row['prenom'].'</td>';
    	echo '<td bgcolor="#CCCCCC">'.$row['email'].'</td>';
            echo '<td bgcolor="#CCCCCC">'.$row['icq'].'</td>';
    	echo '<td bgcolor="#CCCCCC">'.$row['titre'].'</td>';
            echo '<td bgcolor="#CCCCCC">'.$row['url'].'</td>';
            echo '</tr>'."\n";
        }
        echo '</table>'."\n";
    }
    else echo 'Pas d\'enregistrements dans cette table...';
    mysql_free_result($result);
     
    //=========================================    
    // si le nombre d'enregistrement à afficher 
    // est plus grand que $nombre 
    //=========================================
    if($total > $nombre) {
        // affichage des liens vers les pages
        affichePages($nombre,$page,$total);
        // affichage des boutons
        displayNextPreviousButtons($limite,$total,$nombre,$page);
    }
    ?>
    voila si ça peut aider. merci

  4. #4
    Invité
    Invité(e)
    Par défaut
    Salut,

    Fatal error: Call to undefined function verifLimite() in C:\Program Files\EasyPHP 2.0b1\www\Affichage page par page\Affichage page par page.php on line 46
    Ce message indique qu'il ne trouve pas ta fonction verifLimite()

    Est-ce qu'elle bien définie dans fonction.php? si oui, est ce que fonction.php se trouve au même endroit que le script que tu affiches?
    Dernière modification par julp ; 04/08/2008 à 19h55.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Août 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 24
    Par défaut
    salut mygale 1978 voici se qui est defini dans fonction.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
    <?php
    function displayNextPreviousButtons($limite,$total,$nb,$page) {
    $limiteSuivante = $limite + $nb;
    $limitePrecedente = $limite - $nb;
    echo  '<table><tr>'."\n";
    if($limite != 0) {
            echo  '<td valign="top">'."\n";
            echo  '<form action="'.$page.'" method="post">'."\n";
            echo  '<input type="submit" value="précédents">'."\n";
            echo  '<input type="hidden" value="'.$limitePrecedente.'" name="limite">'."\n";
            echo  '</form>'."\n";
            echo  '</td>'."\n";
    }
    if($limiteSuivante < $total) {
            echo  '<td valign="top">'."\n";
            echo  '<form action="'.$page.'" method="post">'."\n";
            echo  '<input type="submit" value="suivants">'."\n";
            echo  '<input type="hidden" value="'.$limiteSuivante.'" name="limite">'."\n";
            echo  '</form>'."\n";
            echo  '</td>'."\n";
     
    }
    echo  '</tr></table>'."\n";
    }
    function affichePages($nb,$page,$total) {
            $nbpages=ceil($total/$nb);
            $numeroPages = 1;
            $compteurPages = 1;
            $limite  = 0;
            echo '<table border = "0" ><tr>'."\n";
            while($numeroPages <= $nbpages) {
            echo '<td ><a href = "'.$page.'?limite='.$limite.'">'.$numeroPages.'</a></td>'."\n";
            $limite = $limite + $nb;
            $numeroPages = $numeroPages + 1;
            $compteurPages = $compteurPages + 1;
                if($compteurPages == 10) {
                $compteurPages = 1;
                echo '<br>'."\n";
                }
            }
            echo '</tr></table>'."\n";
    }
    ?>

  6. #6
    Invité
    Invité(e)
    Par défaut
    Je ne vois pas de fonction verifLimite() dans ta page fonction.php.

    ton premier script recherche cette fonction. où est-ce qu'elle est définie?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Affichage ipconfig /displaydns page par page? windows7
    Par destructive.flame dans le forum Windows
    Réponses: 1
    Dernier message: 28/02/2014, 08h00
  2. [MySQL] Affichage du résultat page par page (pagination)
    Par marcito dans le forum PHP & Base de données
    Réponses: 12
    Dernier message: 20/07/2007, 14h53
  3. [MySQL] Affichage page par page et requêtes du type $sql .=
    Par carelha dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 06/04/2006, 17h12
  4. [Tableaux] PB liens apres affichage page par page
    Par x2thez dans le forum Langage
    Réponses: 16
    Dernier message: 15/03/2006, 16h58
  5. [MySQL] afficher plusieurs enregistrements par page par page à la volée
    Par pod1978 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 14/03/2006, 12h22

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