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 :

comment gérer les page PHP [PHP 5.6]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de philo71
    Profil pro
    Account manager
    Inscrit en
    Avril 2005
    Messages
    242
    Détails du profil
    Informations personnelles :
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Account manager

    Informations forums :
    Inscription : Avril 2005
    Messages : 242
    Par défaut comment gérer les page PHP
    bonjour,
    j'ai développé un programme avec MySql, j'ai donc une sortie avec la requête "select" mais le résultat affiche une longue page html.
    J' aimerais savoir comment gérer l'affichage des pages avec un petit menu page 1, page 2, page 3, etc...
    en cherchant sur le net je me suis aperçu avec la méthode $_GET on peux renvoyer le numéro de page !
    Quelqu"un utilise un algorithme simple pour gérer les page PHP ?


    Salutations
    Philippe

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    je me suis aperçu avec la méthode $_GET on peux renvoyer le numéro de page !
    GET permet d'envoyer des données, point
    La notion de "numéro de page" n'existe pas en HTML/PHP, il faut coder le fonctionnement.

    http://antoine-herault.developpez.co...atique-en-php/
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre éclairé Avatar de philo71
    Profil pro
    Account manager
    Inscrit en
    Avril 2005
    Messages
    242
    Détails du profil
    Informations personnelles :
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Account manager

    Informations forums :
    Inscription : Avril 2005
    Messages : 242
    Par défaut
    Bonjour Babotage,

    J'ai parcouru le lien que tu m'as donné mais hélas j'arrive pas a tout gérer surtout pendant une requête SELECT avec les limites minimum et maximum.
    le fameux <ORDER BY ID DESC LIMIT>, je te présente un extrait du code :

    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
    <?php
    // Connexion à la base de données
    $messagesParPage=10;
    //$premiereEntree=0;
    //$total=0;
    try
    {
    	$bdd = new PDO('mysql:host=localhost;dbname=test;charset=utf8', 'root', 'toto');
    }
    catch(Exception $e)
    {
            die('Erreur : '.$e->getMessage());
    }
     
    $retour_total=mysql_query('SELECT COUNT(*) AS total FROM minichat'); //Nous récupérons le contenu de la requête dans $retour_total
    $donnees_total=mysql_fetch_assoc($retour_total); //On range retour sous la forme d'un tableau.
    $total=$donnees_total['total'];
     
    $premiereEntree=($pageActuelle-1)*$messagesParPage;
    $nombreDePages=ceil($total/$messagesParPage);
     
    if(isset($_GET['page'])) // Si la variable $_GET['page'] existe...
    {
         $pageActuelle=intval($_GET['page']);
     
         if($pageActuelle>$nombreDePages) // Si la valeur de $pageActuelle (le numéro de la page) est plus grande que $nombreDePages...
         {
              $pageActuelle=$nombreDePages;
         }
    }
    else // Sinon
    {
         $pageActuelle=1; // La page actuelle est la n°1    
    }
    $reponse = $bdd->query('SELECT pseudo, message, DATE_FORMAT(date_message, \'%d/%m/%Y à %Hh%imin\') AS date_message_fr FROM minichat ORDER BY ID DESC LIMIT '.$premiereEntree.', '.$messagesParPage.'');
     
    // Récupération des 10 derniers messages
     
    echo 'numero ocurrence de sysop : ' . $total . ' !';
    // Affichage de chaque message (toutes les données sont protégées par htmlspecialchars)
    while ($donnees = $reponse->fetch())
    {
    	echo '<p><strong>'  . htmlspecialchars($donnees['date_message_fr']).' >>  Pseudo -> '. htmlspecialchars($donnees['pseudo']) . '</strong> : ' . htmlspecialchars($donnees['message']) . '</p>';
    }
    $reponse->closeCursor();
     
     
     
     
     
     
    echo '<p align="center">Page : '; //Pour l'affichage, on centre la liste des pages
    for($i=1; $i<=$nombreDePages; $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="minichat.php?page='.$i.'">'.$i.'</a> ';
         }
    }
    echo '</p>';
     
    ?>
     
    header('Location: minichat_post.php');
    Dit moi quelles corrections je peus effectuer ?


    Salutations
    Philippe

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Qu'est ce qui ne fonctionne pas avec ce code ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre éclairé Avatar de philo71
    Profil pro
    Account manager
    Inscrit en
    Avril 2005
    Messages
    242
    Détails du profil
    Informations personnelles :
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Account manager

    Informations forums :
    Inscription : Avril 2005
    Messages : 242
    Par défaut
    la requùête SELECT order by limit ... ne s'affiche rien, je n'est pas de sortie...

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Affiche ta requête pour voir ce qu'elle donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo 'SELECT pseudo, message, DATE_FORMAT(date_message, \'%d/%m/%Y à %Hh%imin\') AS date_message_fr FROM minichat ORDER BY ID DESC LIMIT '.$premiereEntree.', '.$messagesParPage;
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

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

Discussions similaires

  1. comment gérer les accès à mes pages selon des rôles ?
    Par spring.time dans le forum Développement Web en Java
    Réponses: 6
    Dernier message: 20/03/2014, 08h56
  2. Réponses: 2
    Dernier message: 15/12/2009, 12h29
  3. [Wamp] Comment forcer wamp à ouvrir les pages.php avec firefox?
    Par guerrier2005 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 10/08/2008, 23h26
  4. Comment gérer les valeur Nulles dans une requête ?
    Par sondo dans le forum Bases de données
    Réponses: 3
    Dernier message: 16/03/2005, 11h02
  5. Comment gérer les espaces blancs?
    Par Lambo dans le forum XML/XSL et SOAP
    Réponses: 10
    Dernier message: 16/05/2003, 09h44

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