Partage
  • Partager sur Facebook
  • Partager sur Twitter

Choisir le nombre de résultats à afficher par page

Sujet résolu
    1 janvier 2009 à 11:18:32

    Bonjour,
    j'aimerais donner la possibilitée a mes visiteurs de pouvoir choisir le nombre de résultats à afficher par page grâce a un <select> qui contiendrais quatre choix 15,30,50 et 100 resultats par page

    <?php
    if(isset($_POST['nbr_resu']) && !empty($_POST['nbr_resu'])) 
    {
    	$messageParPage = intval($_POST['nbr_resu']); 
    }
    else 
    {
    	$messageParPage = 15;
    }
    	echo '<form method="post" action="mapage.php" name"form" id="form">
    	<center>Nombre de r&eacute;sultats par page : 
    	<select name="nbr_resu" id="nbr_resu" onchange="submit()">
    	<option value="15" selected="selected">15</option>
    	<option value="30">30</option>
    	<option value="50">50</option>
    	<option value="100">100</option>
    	</select>
    	<noscript><input type="submit" value="Changer"/></noscript>
    	</form>';
    	
    $retour_total = mysql_query('SELECT COUNT(*) AS nb_logs FROM gbsd_logs') or die(mysql_error()); 
    
    $donnees_total = mysql_fetch_assoc($retour_total); 
    
    $nombreDePages = ceil($donnees_total['nb_logs']/$messageParPage);
    
    if(isset($_GET['p'])) 
    {
    	$pageActuelle = intval($_GET['p']);
         
      if($pageActuelle > $nombreDePages)
      {
        $pageActuelle = $nombreDePages;
      }
    }
    else 
    {
      $pageActuelle = 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 : '; 
    for($i=1; $i<=$nombreDePages; $i++)
    {
        
         if($i == $pageActuelle) 
         {
             echo ' [ '.$i.' ] '; 
         }	
         else 
         {
              echo ' <a style="text-decoration:none;" href="mapage.php?p='.$i.'"> '.$i.' </a> ';
    
         }
    }
    echo '</p>';
    mysql_close();
    ?>
    


    Mais le problème c'est que ça m'affiche chaque fois 15, comme si le submit n'envoyais rien.
    • Partager sur Facebook
    • Partager sur Twitter
      1 janvier 2009 à 11:28:39

      j'ai déjà répondu '-_- tu fermes ta balise avant le onchange ...
      • Partager sur Facebook
      • Partager sur Twitter

      Choisir le nombre de résultats à afficher par page

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown