Bonjour
j'ai bien suivi le tuto et sa fonctionne pour ma pagination
Mais car il y a toujours un mais.. la pagination affiche de 1 à 7, lorsque je clique sur 2 ou 3 ou 4 Etc... je reste sur la meme page le debogeur
m'indique une erreur avec ceci :
$path_parts = pathinfo($_SERVER['PHP_SELF']);
$page = $path_parts['basename'];
je ne vois pas comment lui indiquer le nom de la page a afficher
voici le code complet
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<!--
############################################################
Liste affiche
############################################################
-->
<?php require_once("config.inc.php"); ?>
<?php
$titre_fenetre = "Mes Dvd";
$titre_detail = "Détail d'un film";
$pied_dateMAJ = true;
$infos = false;
$infos_libelle = "";
$auteur = true;
$auteur_nom = "Ecrivez-moi";
$auteur_mail = "[email protected]";
$lien_retour = false;
$afficher_titre_haut = false;
$ImageParPage=54; # nombre de lignes a afficher par page
$limite = 0; # premiere page
if (!isset($limite)) $limite = 0; // si on arrive sur la page pour la première fois
// on met limite à 0.
$path_parts = pathinfo($_SERVER['PHP_SELF']);
$page = $path_parts['basename'];
# Lecture du fichier date de mise à jour
$dateMAJ = '?';
$filename = 'update.txt';
if (file_exists($filename)) {
$handle = fopen($filename, "r");
$dateMAJ = fread($handle, filesize($filename));
fclose($handle);
}
# ouverture de la base pour l'affichage des affiches
mysql_select_db($database_fmt, $fmt);
$query_Recordset10 = "SELECT * FROM " . $nom_table;
//echo "query_Recordset10 : ".$query_Recordset10;
$Recordset10 = mysql_query($query_Recordset10, $fmt) or die(mysql_error());
$row_Recordset10 = mysql_fetch_assoc($Recordset10);
$Nbr_Enrg = mysql_num_rows($Recordset10);
?>
<head>
<link rel="icon" type="image/png" href="filmotech_img/favicon.png">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title><?php echo($titre_fenetre); ?></title>
<link href="filmotech_css.css" rel="stylesheet" type="text/css" />
<script type="text/JavaScript">
<!--
function MM_callJS(jsStr) { //v2.0
return eval(jsStr)
}
function MM_goToURL() { //v3.0
var i, args=MM_goToURL.arguments; document.MM_returnValue = false;
for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
}
//-->
</script>
</head>
<body>
<div id="page2">
<div id="top" onclick="MM_goToURL('parent','index.php');return document.MM_returnValue"></div>
<div id="wrapper2">
<div id="main_affiche">
<?php
echo '<table><tr>';
$reponse = mysql_query("SELECT ID, TitreVF FROM films ORDER BY TitreVF ASC LIMIT " .$limite.','.$ImageParPage);
$i=1;
while ($donnees = mysql_fetch_array($reponse) )
{
$filename = sprintf('Affiches/Filmotech_%05d.jpg' , $donnees['ID'] ) ;
?>
<td>
<a href="filmotech_detail.php?id=<? echo $_GET['ID']; ?><? echo $donnees['ID'];?>">
<img width="128" title="<? echo $donnees['TitreVF'];?>" alt="<? echo $donnees['TitreVF'];?>"
src="<?php echo $filename; ?>" />
</a>
</td>
<?php
if ($i%9==0 AND $i!=0) {echo "</tr><tr>"; } /* si nombre de films multiple de 9, on commence une nouvelle ligne */
$i++;
}
?></tr></table><?
//récupération de $limite
if(isset($_GET['limite']))
$limite=$_GET['limite'];
else $limite=0;
function verifLimite($limite,$Nbr_Enrg,$ImageParPage) {
// je verifie si limite est un nombre.
if(is_numeric($limite)) {
// si $limite est entre 0 et $Nbr_Enrg, $limite est ok
// sinon $limite n'est pas valide.
if(($limite >=0) && ($limite <= $Nbr_Enrg) && (($limite%$ImageParPage)==0)) {
// j'assigne 1 à $valide si $limite est entre 0 et $max
$valide = 1;
}
else {
// sinon j'assigne 0 à $valide
$valide = 0;
}
}
else {
// si $limite n'est pas numérique j'assigne 0 à $valide
$valide = 0;
}
// je renvois $valide
return $valide;
}
<?php
function displayNextPreviousButtons($limite,$Nbr_Enrg,$ImageParPage,$page) {
$limiteSuivante = $limite + $ImageParPage;
$limitePrecedente = $limite - $ImageParPage;
echo '<table><tr>'."\n";
// affichage bouton suivant préccédent
if($limitesuivante < $Nbr_Enrg) {
echo '<form action="'.$page.'" method="post">';
echo '<input type="submit" value="Suivant">';
echo '<input type="hidden" value="'.$limitesuivante.'" name="limite">';
echo '</form>';
}
if($limite != 0) {
echo '<form action="'.$page.'" method="post">';
echo '<input type="submit" value="Précédent">';
echo '<input type="hidden" value="'.$limiteprecedente.'" name="limite">';
echo '</form>';
}
function affichePages($ImageParPage,$page,$Nbr_Enrg) {
$limiteSuivante = $limite + $ImageParPage;
$limitePrecedente = $limite - $ImageParPage;
$nbpages=ceil($Nbr_Enrg/$ImageParPage);
$numeroPages = 1;
$compteurPages = 1;
$limite = 0;
echo '<table border = "0" ><tr>'."\n";
while($numeroPages <= $nbpages) {
echo '<td ><a href = "'.$page.'?limite='.$limite.'">'.$numeroPages.'</a></td>'."\n";
$limite = $limite + $ImageParPage;
$numeroPages = $numeroPages + 1;
$compteurPages = $compteurPages + 1;
if($compteurPages == 10) {
$compteurPages = 1;
echo '<br>'."\n";
}
}
echo '</tr></table>'."\n";
}
//=========================================
// si le nombre d'enregistrement à afficher
// est plus grand que $ImageParPage
//=========================================
if($Nbr_Enrg > $ImageParPage) {
// affichage des liens vers les pages
affichePages($ImageParPage,$page,$Nbr_Enrg);
// affichage des boutons
displayNextPreviousButtons($limite,$Nbr_Enrg,$ImageParPage,$page);
}
?>
</div> <!-- End #sidebar -->
</div> <!-- End #wrapper -->
<div id="footer">
<center>
<a title="Retour au début" href="http://mes-films-dvd.olympe.in/"><img src="filmotech_img/retour_affiche.png" alt="Fiche"></a>
</center>
<p>
<?php if ($pied_dateMAJ) echo( 'Derniere mise a jour : ' . $dateMAJ . " | " ); ?>
<?php if ($infos) echo( $infos_libelle . " | " ); ?>
<?php if ($auteur) echo( '<a title="Pour envoyer un mail à Michel Tombal" href="mailto:' . $auteur_mail . '">' . $auteur_nom . "</a> | "); ?>
Realise par : <font color ="#FFFF33">Michel Tombal</font></p>
</body>
</div> <!-- End #footer -->
</div> <!-- End #page -->
</html>
<?php mysql_free_result($Recordset10);?>
merci

Bonjour
j'ai bien suivi le tuto et sa fonctionne pour ma pagination
Mais car il y a toujours un mais.. la pagination affiche de 1 à 7, lorsque je clique sur 2 ou 3 ou 4 Etc... je reste sur la meme page le debogeur
m'indique une erreur avec ceci :
[php]$path_parts = pathinfo($_SERVER['PHP_SELF']);
$page = $path_parts['basename'];[/php]
je ne vois pas comment lui indiquer le nom de la page a afficher
voici le code complet
[php]<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<!--
############################################################
Liste affiche
############################################################
-->
<?php require_once("config.inc.php"); ?>
<?php
$titre_fenetre = "Mes Dvd";
$titre_detail = "Détail d'un film";
$pied_dateMAJ = true;
$infos = false;
$infos_libelle = "";
$auteur = true;
$auteur_nom = "Ecrivez-moi";
$auteur_mail = "
[email protected]";
$lien_retour = false;
$afficher_titre_haut = false;
$ImageParPage=54; # nombre de lignes a afficher par page
$limite = 0; # premiere page
if (!isset($limite)) $limite = 0; // si on arrive sur la page pour la première fois
// on met limite à 0.
$path_parts = pathinfo($_SERVER['PHP_SELF']);
$page = $path_parts['basename'];
# Lecture du fichier date de mise à jour
$dateMAJ = '?';
$filename = 'update.txt';
if (file_exists($filename)) {
$handle = fopen($filename, "r");
$dateMAJ = fread($handle, filesize($filename));
fclose($handle);
}
# ouverture de la base pour l'affichage des affiches
mysql_select_db($database_fmt, $fmt);
$query_Recordset10 = "SELECT * FROM " . $nom_table;
//echo "query_Recordset10 : ".$query_Recordset10;
$Recordset10 = mysql_query($query_Recordset10, $fmt) or die(mysql_error());
$row_Recordset10 = mysql_fetch_assoc($Recordset10);
$Nbr_Enrg = mysql_num_rows($Recordset10);
?>
<head>
<link rel="icon" type="image/png" href="filmotech_img/favicon.png">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title><?php echo($titre_fenetre); ?></title>
<link href="filmotech_css.css" rel="stylesheet" type="text/css" />
<script type="text/JavaScript">
<!--
function MM_callJS(jsStr) { //v2.0
return eval(jsStr)
}
function MM_goToURL() { //v3.0
var i, args=MM_goToURL.arguments; document.MM_returnValue = false;
for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
}
//-->
</script>
</head>
<body>
<div id="page2">
<div id="top" onclick="MM_goToURL('parent','index.php');return document.MM_returnValue"></div>
<div id="wrapper2">
<div id="main_affiche">
<?php
echo '<table><tr>';
$reponse = mysql_query("SELECT ID, TitreVF FROM films ORDER BY TitreVF ASC LIMIT " .$limite.','.$ImageParPage);
$i=1;
while ($donnees = mysql_fetch_array($reponse) )
{
$filename = sprintf('Affiches/Filmotech_%05d.jpg' , $donnees['ID'] ) ;
?>
<td>
<a href="filmotech_detail.php?id=<? echo $_GET['ID']; ?><? echo $donnees['ID'];?>">
<img width="128" title="<? echo $donnees['TitreVF'];?>" alt="<? echo $donnees['TitreVF'];?>"
src="<?php echo $filename; ?>" />
</a>
</td>
<?php
if ($i%9==0 AND $i!=0) {echo "</tr><tr>"; } /* si nombre de films multiple de 9, on commence une nouvelle ligne */
$i++;
}
?></tr></table><?
//récupération de $limite
if(isset($_GET['limite']))
$limite=$_GET['limite'];
else $limite=0;
function verifLimite($limite,$Nbr_Enrg,$ImageParPage) {
// je verifie si limite est un nombre.
if(is_numeric($limite)) {
// si $limite est entre 0 et $Nbr_Enrg, $limite est ok
// sinon $limite n'est pas valide.
if(($limite >=0) && ($limite <= $Nbr_Enrg) && (($limite%$ImageParPage)==0)) {
// j'assigne 1 à $valide si $limite est entre 0 et $max
$valide = 1;
}
else {
// sinon j'assigne 0 à $valide
$valide = 0;
}
}
else {
// si $limite n'est pas numérique j'assigne 0 à $valide
$valide = 0;
}
// je renvois $valide
return $valide;
}
<?php
function displayNextPreviousButtons($limite,$Nbr_Enrg,$ImageParPage,$page) {
$limiteSuivante = $limite + $ImageParPage;
$limitePrecedente = $limite - $ImageParPage;
echo '<table><tr>'."\n";
// affichage bouton suivant préccédent
if($limitesuivante < $Nbr_Enrg) {
echo '<form action="'.$page.'" method="post">';
echo '<input type="submit" value="Suivant">';
echo '<input type="hidden" value="'.$limitesuivante.'" name="limite">';
echo '</form>';
}
if($limite != 0) {
echo '<form action="'.$page.'" method="post">';
echo '<input type="submit" value="Précédent">';
echo '<input type="hidden" value="'.$limiteprecedente.'" name="limite">';
echo '</form>';
}
function affichePages($ImageParPage,$page,$Nbr_Enrg) {
$limiteSuivante = $limite + $ImageParPage;
$limitePrecedente = $limite - $ImageParPage;
$nbpages=ceil($Nbr_Enrg/$ImageParPage);
$numeroPages = 1;
$compteurPages = 1;
$limite = 0;
echo '<table border = "0" ><tr>'."\n";
while($numeroPages <= $nbpages) {
echo '<td ><a href = "'.$page.'?limite='.$limite.'">'.$numeroPages.'</a></td>'."\n";
$limite = $limite + $ImageParPage;
$numeroPages = $numeroPages + 1;
$compteurPages = $compteurPages + 1;
if($compteurPages == 10) {
$compteurPages = 1;
echo '<br>'."\n";
}
}
echo '</tr></table>'."\n";
}
//=========================================
// si le nombre d'enregistrement à afficher
// est plus grand que $ImageParPage
//=========================================
if($Nbr_Enrg > $ImageParPage) {
// affichage des liens vers les pages
affichePages($ImageParPage,$page,$Nbr_Enrg);
// affichage des boutons
displayNextPreviousButtons($limite,$Nbr_Enrg,$ImageParPage,$page);
}
?>
</div> <!-- End #sidebar -->
</div> <!-- End #wrapper -->
<div id="footer">
<center>
<a title="Retour au début" href="http://mes-films-dvd.olympe.in/"><img src="filmotech_img/retour_affiche.png" alt="Fiche"></a>
</center>
<p>
<?php if ($pied_dateMAJ) echo( 'Derniere mise a jour : ' . $dateMAJ . " | " ); ?>
<?php if ($infos) echo( $infos_libelle . " | " ); ?>
<?php if ($auteur) echo( '<a title="Pour envoyer un mail à Michel Tombal" href="mailto:' . $auteur_mail . '">' . $auteur_nom . "</a> | "); ?>
Realise par : <font color ="#FFFF33">Michel Tombal</font></p>
</body>
</div> <!-- End #footer -->
</div> <!-- End #page -->
</html>
<?php mysql_free_result($Recordset10);?>[/php]
merci :)