trois requêtes dans trois pages en une seule requête dans un
Posté : 22 juin 2008, 01:55
Bonjour,
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
pour les autres pages j'ai copier la cette page en modifiant le genre.
Merci d'avance pour vos réponses.
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.