wydook | Bonjour à tous.
Voici mon problème.
Je suis en train de faire un système de pagination.
Le problème est par exemple dans ma base il y a 116 images, je demande à ce qu'il y est 15 images par page, ce qui fait donc 8 pages au total (voir ici http://www.meteo-world.com/webcams/45.php , on constate qu'apres la page 3 il n'y a plus rien)
Moi je voudrais uniquement avoir une certaines catégorie d'image et non pas toutes les images.
Comment faire pour que le système de pagination prenne ceci en compte ?
Je veut que seule les images ayant
le champs departement=aucun soit affichées, ce qi est le cas, mais le nombre de page prend toutes les images de la base en compte ce qui fait qu'en fait j'ai trop de pages qui s'affichent
Voici le code actuel Code :
- <?php
- mysql_connect('', '', ''); // Connexion à MySQL
- mysql_select_db("" ); // Sélection de la base coursphp
- $nombreDeMessagesParPage = 15; // Le nombre de news sur chaque page
- // On récupère le nombre total de messages
- $retour = mysql_query('SELECT COUNT(*) AS nb_ville FROM webcams');
- $donnees = mysql_fetch_array($retour);
- $totalDesMessages = $donnees['nb_ville'];
- // On calcule le nombre de pages à créer
- $nombreDePages = ceil($totalDesMessages / $nombreDeMessagesParPage);
- if (isset($_GET['num_page']))
- {
- $page = $_GET['num_page']; // On récupère le numéro de la page indiqué dans l'adresse (news.php?num_page=4)
- }
- else // La variable n'existe pas, c'est la première fois qu'on charge la page
- {
- $page = 1; // On se met sur la page 1 (par défaut)
- }
- // On calcule le numéro du premier message qu'on prend pour le LIMIT de MySQL
- $premierMessageAafficher = ($page - 1) * $nombreDeMessagesParPage;
- $reponse = mysql_query("SELECT id, image, pays, ville, source FROM webcams WHERE departement='aucun' AND approved='YES' ORDER BY id DESC LIMIT " . $premierMessageAafficher . ', ' . $nombreDeMessagesParPage);
- // Requête SQL
- $i = 0;
- ?>
- <table>
- <tr>
- <?php
- // On fait une boucle pour lister tout ce que contient la table :
- while ($data = mysql_fetch_array($reponse) )
- {
- $i++;
- echo '<p id="'.$data['id'].'">';
- echo '<td><h3>'.$data['ville'].'<br/>'; //ici on rajoute le "<br/>"
- echo '<a href="'.$data['image'].'"><img src="'.$data['image'].'" width="140" height="100" alt="webcam '.$data['ville'].'" border="0" style="filter:alpha(opacity=100); -moz-opacity: 1;" onMouseover="makevisible(this,0)" onMouseout="makevisible(this,1)"></a></h3></td> ';
- if($i == 4)
- {
- echo "</tr><tr>";
- $i = 0;
- }
- }
- ?>
- </tr>
- </table>
- Page :
- <?
- for ($i = 1 ; $i <= $nombreDePages ; $i++)
- {
- echo '<a href="45.php?num_page=' . $i . '">' . $i . '</a> ';
- }
- ?> <?php
- mysql_close(); // Déconnexion de MySQL
- ?>
|
Message édité par wydook le 14-04-2006 à 08:36:30
|