par
kakahouette » 04 juin 2011, 15:40
Enfait j'ai une page index.php qui se trouve dans mon sous repertoire.
Dans cette page j'affiche via une liste de puce différentes années qui correspondent aux années des photos.
Lorsque je clique sur une année toute les photo enregistrée sous cette année sont affichées.
je suis alors redirigé pour ça vers la page /photos/photo.php/num=2011. Ou num est égal à l'année.
Mon soucis est que je souhaite afficher seulement 18 photos par page, j'ai donc mis un code pour avoir une pagination et plusieurs pages si le nombre de photos est supérieure à 18.
Voici le code de la page photo.php.
Code : Tout sélectionner
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Titre de la page</title>
</head>
<body>
<?php
$annee=$_GET['num'];
// code bannière haut de page
$title = "Les photos de la promotion $annee";
include ($_SERVER["DOCUMENT_ROOT"].'/inc/banniere.php');
// code menu gauche
include ($_SERVER["DOCUMENT_ROOT"].'/inc/menu.php');
?>
<div id="corps">
<h1><?php echo $title ?></h1>
<?php
include ($_SERVER["DOCUMENT_ROOT"].'/inc/connect.php');
$requete= "SELECT COUNT(id) as nbphoto, annee, lien FROM photo where annee= $annee";
$resultat = mysql_query($requete) or die ('ERREUR'.mysql_error());
$tableau = mysql_fetch_assoc($resultat);
if (isset($_GET['p'])){
$pagecourrante=($_GET['p']);
}
else {
$pagecourrante=1;
}
$nbphoto=$tableau['nbphoto'];
$parpage =15;
$nbpage= ceil($nbphoto/$parpage);
$requete= "SELECT id, lien FROM photo where annee= $annee LIMIT ".(($pagecourrante-1) * $parpage).",$parpage ";
//on evnvoie la requete a php pour ca on utilise mysql query qui prend en paramètre la requete a exécuter
$resultat = mysql_query($requete) or die ('ERREUR'.mysql_error());
while ($tableau = mysql_fetch_assoc($resultat)){
// Récupération des valeurs dans la table
$lien = '<a href="'.$tableau['lien'].'" target=\"_blank\"><img src="'.$tableau['lien'].'" width="255" height="170"/>';
// affichage des photos
echo "$lien";
}
echo "<hr/>";
for ($i=1; $i<= $nbpage; $i ++){
echo "<a href = \"index.php?p=$i \"> $i </a> - ";
}
;
?>
</div>
<?php
// code bas de page
include ($_SERVER["DOCUMENT_ROOT"].'/inc/bas.php');
?>
</body>
</html>
Comment dois je faire pour que la page 2 corresponde a la bonne année?
Merci
Enfait j'ai une page index.php qui se trouve dans mon sous repertoire.
Dans cette page j'affiche via une liste de puce différentes années qui correspondent aux années des photos.
Lorsque je clique sur une année toute les photo enregistrée sous cette année sont affichées.
je suis alors redirigé pour ça vers la page /photos/photo.php/num=2011. Ou num est égal à l'année.
Mon soucis est que je souhaite afficher seulement 18 photos par page, j'ai donc mis un code pour avoir une pagination et plusieurs pages si le nombre de photos est supérieure à 18.
Voici le code de la page photo.php.
[code]<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Titre de la page</title>
</head>
<body>
<?php
$annee=$_GET['num'];
// code bannière haut de page
$title = "Les photos de la promotion $annee";
include ($_SERVER["DOCUMENT_ROOT"].'/inc/banniere.php');
// code menu gauche
include ($_SERVER["DOCUMENT_ROOT"].'/inc/menu.php');
?>
<div id="corps">
<h1><?php echo $title ?></h1>
<?php
include ($_SERVER["DOCUMENT_ROOT"].'/inc/connect.php');
$requete= "SELECT COUNT(id) as nbphoto, annee, lien FROM photo where annee= $annee";
$resultat = mysql_query($requete) or die ('ERREUR'.mysql_error());
$tableau = mysql_fetch_assoc($resultat);
if (isset($_GET['p'])){
$pagecourrante=($_GET['p']);
}
else {
$pagecourrante=1;
}
$nbphoto=$tableau['nbphoto'];
$parpage =15;
$nbpage= ceil($nbphoto/$parpage);
$requete= "SELECT id, lien FROM photo where annee= $annee LIMIT ".(($pagecourrante-1) * $parpage).",$parpage ";
//on evnvoie la requete a php pour ca on utilise mysql query qui prend en paramètre la requete a exécuter
$resultat = mysql_query($requete) or die ('ERREUR'.mysql_error());
while ($tableau = mysql_fetch_assoc($resultat)){
// Récupération des valeurs dans la table
$lien = '<a href="'.$tableau['lien'].'" target=\"_blank\"><img src="'.$tableau['lien'].'" width="255" height="170"/>';
// affichage des photos
echo "$lien";
}
echo "<hr/>";
for ($i=1; $i<= $nbpage; $i ++){
echo "<a href = \"index.php?p=$i \"> $i </a> - ";
}
;
?>
</div>
<?php
// code bas de page
include ($_SERVER["DOCUMENT_ROOT"].'/inc/bas.php');
?>
</body>
</html>[/code]
Comment dois je faire pour que la page 2 corresponde a la bonne année?
Merci