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 :

Choisir le nombre de résultats à afficher par page [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre habitué Avatar de raffa
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    194
    Détails du profil
    Informations personnelles :
    Âge : 26
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 194
    Points : 159
    Points
    159
    Par défaut Choisir le nombre de résultats à afficher par page
    Bonjour,
    dans cette page qui contient un systeme de pagination j'aimerais en plus donner la possibilitée a mes visiteurs de pouvoir choisir le nombre de resultats a afficher par page grace a un <select> qui contiendrai quatre choix 5,10,20,30 resultats par page j'ai commencer un bout de code mais pas possible de faire fonctionner le tout correctement j'inclus le code au cas où.
    Merci d'avance pour votre aide.

    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
    <?php
    //Connexion à la base de données
    mysql_connect('***', '***', '***');
    mysql_select_db('***');
     
     
    	echo '<form method="post" action="mapage.php">
    	<center>Nombre de r&eacute;sultats par page : 
    	<select name="rpp" id="rpp" onchange="submit();">
    	<option value="5" selected="selected">5</option>
    	<option value="10">10</option>
    	<option value="20">20</option>
            <option value="30">30</option>
    	</select>
    	<noscript><input type="submit" value="Changer" /></noscript>
    	</form>';
     
    //Nous allons afficher 10 messages par page.
    $messageParPage = 10;
     
    $retour_total = mysql_query('SELECT COUNT(*) AS total FROM gbsd_logs') or die(mysql_error()); //Nous récupérons le contenu de la requête dans $retour_total
     
    $donnees_total = mysql_fetch_assoc($retour_total); 
    $total = $donnees_total['total']; //On récupère le total pour le placer dans la variable $total.
     
    //Nous allons maintenant compter le nombre de pages.
    $nombreDePages = ceil($total / $messageParPage);
     
    if(isset($_GET['pagevo'])) 
    {
    	$pageActuelle = intval($_GET['pagevo']);
     
      if($pageActuelle > $nombreDePages) 
      {
        $pageActuelle = $nombreDePages;
      }
    }
    else 
    {
      $pageActuelle = 1; // La page actuelle est la n°1    
    }
     
    $premiereEntree = ($pageActuelle - 1) * $messageParPage; 
     
    $retour_messages = mysql_query('SELECT * FROM gbsd_logs ORDER BY id DESC LIMIT '.$premiereEntree.', '.$messageParPage.'')or die(mysql_error());
     
    echo '<table width="70%" border="1" cellspacing="1" cellpadding="2">
    <tr>
    	<th>ID</th>
    	<th>Login</th>
    	<th>IP</th>
    	<th>H&ocirc;te</th>
    	<th>Site</th>
    	<th>Action</th>
    	<th>Date</th>
    	</tr>';
     
    while($donnees_messages=mysql_fetch_array($retour_messages)) 
    {
    			echo '<tr>
    			<td>'.$donnees_messages['id'].'</td>
    			<td>'.stripslashes($donnees_messages['membre_pseudo']).'</td>
    			<td>'.$donnees_messages['adresse_ip'].'</td>
    			<td>'.stripslashes($donnees_messages['host']).'</td>
    			<td>'.stripslashes($donnees_messages['site']).'</td>
    			<td>'.stripslashes($donnees_messages['action']).'</td>
    			<td>'.utf8_encode(date('d/m/Y à H\hi', $donnees_messages['time'])).'</td>
    			</tr>';
     
    }
    echo '</table>';
     
    echo '<p align="center">Page : '; //Pour l'affichage, on centre la liste des pages
    for($i=1; $i<=$nombreDePages; $i++) //On fait notre boucle
    {
         if($i == $pageActuelle)
         {
             echo ' [ '.$i.' ] '; 
         }	
         else 
         {
              echo ' <a style="text-decoration:none;" href="mapage.php?pagevo='.$i.'"> '.$i.' </a> ';
     
         }
    }
    echo '</p>';
    mysql_close();
    ?>

  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
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu pourrais nous dire ce qui ne fonctionne pas ?

    J'ai arreté ma lecture sur ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <select sise>1 name="rpp"
    Lis egalement l'exemple de pagination dans la FAQ
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre habitué Avatar de raffa
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    194
    Détails du profil
    Informations personnelles :
    Âge : 26
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 194
    Points : 159
    Points
    159
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Tu pourrais nous dire ce qui ne fonctionne pas ?

    J'ai arreté ma lecture sur ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <select sise>1 name="rpp"
    Lis egalement l'exemple de pagination dans la FAQ
    merci c'était justement là l'erreur

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

Discussions similaires

  1. Nombre d'élements affichés par page
    Par boheme260 dans le forum Langage
    Réponses: 1
    Dernier message: 31/07/2009, 10h07
  2. [FPDF] afficher un nombre défini d'article par page
    Par kluck3000 dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 28/05/2008, 12h00
  3. Nombre limite de formulaire par page html/php
    Par asmouma dans le forum Langage
    Réponses: 3
    Dernier message: 06/02/2007, 18h36
  4. afficher par pages les results d'1 request
    Par aKro dans le forum Requêtes
    Réponses: 5
    Dernier message: 06/07/2005, 20h27

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