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 :

Système de pagination avec php/mysql


Sujet :

PHP & Base de données

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2012
    Messages : 5
    Points : 7
    Points
    7
    Par défaut Système de pagination avec php/mysql
    salut tout le monde!
    vraiment j'aurais besoin de votre aide pour m'aider à trouver ce qui ne marche pas (ça sonne comme un euphemisme ) .Merci d'avance pour votre génereuse aide.
    NB: j'ai joint à ce message ma table livredor
    LE CAS :
    j'ai voulu mettre en place un système de pagination pour les messages d'un livre d'or. J'ai donc crée une table livredor avec pour champs(id, pseudo,message) dans une base que j'ai nommée test. Mais mon code ne marche pas; quand je teste avec wampserver, localhost me dit "impossible d'ouvrir la page livredor.php" comme quand on tente d'acceder à une page web sans la connexion. Bizzare non?
    Ce qui suit est mon code PHP que je confie volontiers à vos soins d'experts en à la matiere !
    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
     
     try
    {
    $base=new PDO('mysql:host=localhost;dbname=test','root','');
    }
    catch(Exception $e) 
    {
    die('Erreur:'.$e->getMessage());
    }
    $sql=$base->query('SELECT COUNT(id) AS nbtotal FROM livredor') ;
    $donnees_total= $sql->fetch(); // requete arrangée dans un tableau;
    $total=$donnees_total['nbtotal']; // on recupere le total de messages pour le placer dans la variable total
    $sql->closeCursor();
     
    $messages_par_page=5;
    $nbpages=ceil($total/$messages_par_page);
    if(isset($_GET['page'])) // Si la variable $_GET['page'] existe...
    {
         $pageActuelle=intval($_GET['page']);
     
         if($pageActuelle>$nbpages) // Si la valeur de $pageActuelle (le numéro de la page) est plus grande que $nombreDePages...
         {
              $pageActuelle=$nbPages;
         }
    }
    else // Sinon
    {
         $pageActuelle=1; // La page actuelle est la n°1    
    }
    $premiereEntree=($pageActuelle-1)*$nbpages;
     
     
    // requete pour recuperer les messages de la page acuelle
     
    $requete=$base->query("SELECT * FROM livredor ORDER BY id DESC LIMIT $premiereEntree , $messages_par_page");
    while ($donnees_messages=$requete->fetch())
    {
    echo '<table width="400" border="0" align="center" cellpadding="0" cellspacing="0">
                    <tr>
                         <td><strong>Ecrit par : '.$donnees_messages['pseudo'].'</strong></td>
                    </tr>
                    <tr>
                         <td>'.nl2br($donnees_messages['message']).'</td>
                    </tr>
                </table><br /><br />';
        //J'ai rajouté des sauts à la ligne pour espacer les messages.   
    }
    echo '<p align="center">Page : '; //Pour l'affichage, on centre la liste des pages
    for($i=1; $i<=$nbpages; $i++) //On fait notre boucle
    {
         //On va faire notre condition
         if($i==$pageActuelle) //Si il s'agit de la page actuelle...
         {
             echo ' [ '.$i.' ] '; 
         }	
         else //Sinon...
         {
              echo ' <a href="livredor.php?page='.$i.'">'.$i.'</a> ';
         }
    }
    echo '</p>';
     
    $requete->closeCursor();
    ?>
    Fichiers attachés Fichiers attachés

  2. #2
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Salut,

    tu ne récupères pas le résultat de ta requête SQL !
    Tu as codé ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql_query($sql)or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()) ;
    or ça devrait être plutôt ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $qry           = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
    $donnees_total = mysql_fetch_assoc($qry);
    D'ailleurs quand tu codes, c'est toujours utile d'afficher toutes les erreurs avec ce genre de code en début de script :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ini_set('display_errors', 1);
    ini_set('display_startup_errors', 1);
    error_reporting(-1);

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2012
    Messages : 5
    Points : 7
    Points
    7
    Par défaut
    j'au tenu compte de tes corrections rawsrc ; a present ma page s'affiche mais seulement la premiere ! je n'arrive pas à acceder aux messages sur les autres pages quand je clique sur les liens! SOS...

  4. #4
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Et que se passe-t-il quand tu cliques sur le lien ? Essaye d'afficher ta variable $pageActuelle pour vérifier où le script croit être...
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

Discussions similaires

  1. [Système] Utilisation gnuplot avec php
    Par jejerome dans le forum Langage
    Réponses: 12
    Dernier message: 27/04/2013, 15h39
  2. Pagination avec PHP et Mysql
    Par __fabrice dans le forum Flash
    Réponses: 2
    Dernier message: 27/09/2006, 14h17
  3. [SGBD] Gérer des droits avec php/mysql
    Par pontus21 dans le forum Administration
    Réponses: 9
    Dernier message: 04/05/2006, 19h56
  4. Quel SGBD avec PHP : MySQL ou Postgres
    Par charliejo dans le forum Requêtes
    Réponses: 6
    Dernier message: 25/01/2006, 12h13
  5. multi update avec php/ mysql
    Par arnoweb dans le forum Administration
    Réponses: 1
    Dernier message: 17/11/2005, 22h10

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