J'aimerai comprendre si ce que je veux avoir est possible ou non svp? bon je vous expose le problème
j'ai une table (albums) avec 6 champs : (id, titre, lien, image, timestamp, genre)
et j'ai 3 pages album-vacance.php, album-nature.php, album-divers.php
dans la page album-vacance.php je fait une requete qui affiche toute les images qui ont pour genre Vacance (WHERE genre='Vacance')
dans la page album-nature.php toute les images qui ont pour genre Nature
et dans album-divers.php --> genre Divers
ma question c'est est-il possible de faire ça dans une seule page avec une seule requête sans avoir a créer des nouvelles pages
avec des nouvelle requêtes?
voici par exemple ma page album-vacance.php
<?php
require("header.php");
require("config.php");
// connexion a la base BDD
$connexion = mysql_connect($host,$user,$pass) or die("Connexion impossible au serveur ".$host);
mysql_select_db($db,$connexion) or die ("La base ".$db." est introuvable sur ".$host);
// On récupère le nombre total des albums qui se trouvent dans le champ genre = Vacance
$retour = mysql_query("SELECT COUNT(*) AS nb_albums FROM albums WHERE genre='Vacance'");
$donnees = mysql_fetch_array($retour);$totalDesAlbums = $donnees['nb_albums'];
// On calcule le nombre de pages à créer
$nombreDePages = ceil($totalDesAlbums / $nombreDalbumsParPage);
$page = $_GET['page'];
$pagePrecedente = $page - 1;
$pageSuivante = $page + 1;
if($pagePrecedente > 0)
// bouton précédent
{
echo '<div id="pageprecedente"><a href="album-vacance.php?page=' . $pagePrecedente . '"><img src="img/precedent.png" width="22" height="22" border="0" /></a> </div>';
}
else
{
echo '<div id="pageprecedente"><img src="img/precedentnoir.png" width="22" height="22" border="0" /> </div>';
}
// les numéros des pages
for ($i = 1 ; $i <= $nombreDePages ; $i++)
{
echo '<div id="nombrepages"><a href="album-vacance.php?page=' . $i . '">' . $i . '</a> </div>';
}
// bouton suivant
if($pageSuivante <= $nombreDePages)
{
echo '<div id="pagesuivante"><a href="album-vacance.php?page=' . $pageSuivante . '"><img src="img/suivant.png" width="22" height="22" border="0" /></a> </div>';
}
else
{
echo '<div id="pagesuivante"><img src="img/suivantnoir.png" width="22" height="22" border="0" /> </div>';
}
// ---------------.........---------------
// on affiche les albums
// ---------------------------------------
if (isset($_GET['page']))
{
$page = $_GET['page']; // On récupère le numéro de la page indiqué dans l'adresse
}
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 album qu'on prend pour le LIMIT de MySQL
$premierAlbumAafficher = ($page - 1) * $nombreDalbumsParPage;
$reponse = mysql_query("SELECT * FROM albums WHERE genre='Vacance' ORDER BY id DESC LIMIT " . $premierAlbumAafficher . ', ' . $nombreDalbumsParPage);
while ($donnees = mysql_fetch_array($reponse))
{
// la mise en page des albums avant l'affichage
?>
<div id="box">
<p class="titre"><?php echo $donnees['titre']; ?></p>
<p class ="date"><?php echo date('d/m/Y', $donnees['timestamp']); ?></p>
<div id="CDhaut">
<img src="img/CDhaut.gif" width="128" height="14" class="CDhautBug" />
<div id="CDcentre">
<img src="images/<?php echo $donnees['image']; ?>">
</div>
<img src="img/CDbas.gif" width="128" height="15" />
<p class="telecharger"><a href="<?php echo $donnees['lien']; ?>" target="_blank">Télécharger la photo</a></p>
</div>
</div>
<?php
}
mysql_close(); // Déconnexion de MySQL
?>
<?php
require("footer.php");
?>
pour les autres pages j'ai copier la cette page en modifiant le genre.
Merci d'avance pour vos réponses.