le 08/12/2013 à 11:08
diodon
Bonjour tout le monde et bon dimanche
voila je rencontre un soucis j'ai crée une pagination qui affiche 50 références par page jusque la tout vas bien
mais lorsque que je place un filtre pour ne voir par EX que les films comédies la pagination m'affiche toujours le meme nombre de pages alors que je devrais en avoir moins ce qui est logique car je n'ai pas que des comédies dans ma base de données.
et si je clique sur page 2 par Ex le filtre se coupe
comment pourrais-je faire pour que mes filtres genres et supports s'applique a ma pagination
Merci d'avance
voici mon code
voila je rencontre un soucis j'ai crée une pagination qui affiche 50 références par page jusque la tout vas bien
mais lorsque que je place un filtre pour ne voir par EX que les films comédies la pagination m'affiche toujours le meme nombre de pages alors que je devrais en avoir moins ce qui est logique car je n'ai pas que des comédies dans ma base de données.
et si je clique sur page 2 par Ex le filtre se coupe
comment pourrais-je faire pour que mes filtres genres et supports s'applique a ma pagination
Merci d'avance
voici mon code
<?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">
<!--
############################################################
INDEX.PHP
############################################################
-->
<?php require_once("config.inc.php"); ?>
<?php
ini_set('display_errors', 1);
$genre = "Tous les films";
$support = "Supports";
$search = "";
$n_derniers = "20";
$afficher_entetes = true;
$titre_fenetre = "Mes Dvd";
$titre_liste = " Liste des films ";
$liste_dateMAJ = true;
$pied_dateMAJ = true;
$infos = false;
$infos_libelle = "";
$auteur = true;
$auteur_nom = "Contactez Michel";
$auteur_mail = "michel.tombal@skynet.be";
$lien_retour = true;
$lien_retour_nom = "";
$lien_retour_url = "http://mesdvd.olympe.in";
$afficher_prets = true;
$afficher_non_vu = true;
$afficher_titre_haut = false;
$titre_haut = "";
$LigneParPage=50; # nombre de lignes a afficher par page
# 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);
}
# Count du nombre total des enregistrements de films
mysql_select_db($database_fmt, $fmt);
$query_Recordset5 = "SELECT * FROM " . $nom_table;
//echo "query_Recordset5 : ".$query_Recordset5;
$Recordset5 = mysql_query($query_Recordset5, $fmt) or die(mysql_error());
//echo $query_Recordset5;
$row_Recordset5 = mysql_fetch_assoc($Recordset5);
$Nbr_Enrg = mysql_num_rows($Recordset5);
$totaldefilms = mysql_num_rows($Recordset5);
if($_GET['ids_pagi']){
$ids_pagi=$_GET['ids_pagi'];
}else $ids_pagi=0;
# Liste des genres
mysql_select_db($database_fmt, $fmt);
$query_Recordset2 = "SELECT DISTINCT Genre FROM " . $nom_table . " ORDER BY Genre";
//echo $query_Recordset2;
$Recordset2 = mysql_query($query_Recordset2, $fmt) or die(mysql_error());
$row_Recordset2 = mysql_fetch_assoc($Recordset2);
$totalRows_Recordset2 = mysql_num_rows($Recordset2);
# Liste des supports
mysql_select_db($database_fmt, $fmt);
$query_Recordset4 = "SELECT DISTINCT Support FROM " . $nom_table . " ORDER BY Support";
//echo $query_Recordset4;
$Recordset4 = mysql_query($query_Recordset4, $fmt) or die(mysql_error());
$row_Recordset4 = mysql_fetch_assoc($Recordset4);
$totalRows_Recordset4 = mysql_num_rows($Recordset4);
# Count du nombre total des enregistrements de films
mysql_select_db($database_fmt, $fmt);
$query_Recordset5 = "SELECT * FROM " . $nom_table;
//echo "query_Recordset5 : ".$query_Recordset5;
$Recordset5 = mysql_query($query_Recordset5, $fmt) or die(mysql_error());
//echo $query_Recordset5;
$row_Recordset5 = mysql_fetch_assoc($Recordset5);
$Nbr_Enrg = mysql_num_rows($Recordset5);
$totaldefilms = mysql_num_rows($Recordset5);
# Les 30 dernières entrées
mysql_select_db($database_fmt, $fmt);
$query_Recordset3 = "SELECT ID, TitreVF FROM " . $nom_table . " ORDER BY EntreeDate DESC, ID DESC LIMIT " . $n_derniers;
//echo $query_Recordset3;
$Recordset3 = mysql_query($query_Recordset3, $fmt) or die(mysql_error());
$row_Recordset3 = mysql_fetch_assoc($Recordset3);
$totalRows_Recordset3 = mysql_num_rows($Recordset3);
# Liste des films
if ( (isset($_POST['genre'])) && ($_POST['genre']!="") ) {
$genre = stripslashes(urldecode($_POST['genre']));
$query_Recordset1 = sprintf( "SELECT ID, Reference, TitreVF, Genre, Support, Annee, FilmVu, PretEnCours FROM %s WHERE Genre LIKE '%s' ORDER BY TitreVF ASC", $nom_table , $genre ); }
elseif ( (isset($_POST['support'])) && ($_POST['support']!="") ) { $support = stripslashes(urldecode($_POST['support']));
$query_Recordset1 = sprintf( "SELECT ID, Reference, TitreVF, Genre, Support, Annee, FilmVu, PretEnCours, Support FROM %s WHERE Support LIKE '%s' ORDER BY TitreVF ASC", $nom_table , $support ); }
elseif ( (isset($_POST['search'])) && ($_POST['search']!="") ) { $search = stripslashes(urldecode($_POST['search']) );
$query_Recordset1 = sprintf( "SELECT ID, Reference, TitreVF, Genre, Support, Annee, FilmVu, PretEnCours FROM %s WHERE %s LIKE '%s' ORDER BY Annee DESC", $nom_table , $_POST['zonerecherche'] , '%' . addslashes($search) . '%' ); }
else $query_Recordset1 = "SELECT ID, Reference, TitreVF, Genre, Support, Annee, FilmVu, PretEnCours FROM " . $nom_table . " ORDER BY TitreVF ASC";
//Nous allons maintenant compter le nombre de pages.
$nombreDePages=ceil($Nbr_Enrg/$LigneParPage);
//echo "nombr page : ".$nombreDePages;
if(isset($_GET['page'])) // Si la variable $_GET['page'] existe...
{
$pageActuelle=intval($_GET['page']);
if($pageActuelle>$nombreDePages) // Si la valeur de $pageActuelle (le numéro de la page) est plus grande que $nombreDePages...
{
$pageActuelle=$nombreDePages;
}
}
else // Sinon
{
$pageActuelle=1; // La page actuelle est la n°1
}
$premiereEntree=($pageActuelle-1)*$LigneParPage; // On calcul la première entrée à lire
$LIMIT=" LIMIT ".$premiereEntree.", ".$LigneParPage;
$query_Recordset1=$query_Recordset1.$LIMIT;
mysql_select_db($database_fmt, $fmt);
$Recordset1 = mysql_query($query_Recordset1, $fmt) or die(mysql_error());
//echo $query_Recordset1;
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);
?>
<head>
<link rel="icon" type="image/png" href="filmotech_img/favicon.png">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<meta name="author" content="http://www.filmotech.fr" />
<title><?php echo($titre_fenetre); ?></title>
<link href="filmotech_css.css" rel="stylesheet" type="text/css" />
<script type="text/JavaScript">
<!--
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>
<script type="text/JavaScript"></script>
<div id="page">
<div id="top" onclick="MM_goToURL('parent','index.php');return document.MM_returnValue"><?php if ($afficher_titre_haut) { echo("<h1>".$titre_haut."</h1>"); } ?></div>
<div id="wrapper">
<ul id="menu-demo2">
<li><a href="http://mesdvd.olympe.in/">Accueil</a>
</li>
<li><a href="http://mesdvd.olympe.in/galerie.php">Les affiches</a>
</li>
<li><a href="">Lien Divers</a>
<ul>
<li><a href="http://www.allocine.fr/" target="blank">Allo Ciné</a></li>
<li><a href="http://www.dvdfr.com/" target="blank">Dvd-Fr</a></li>
<li><a href="http://www.allmovie.com/" target="blank">Allmovies</a></li>
<li><a href="http://www.dvdempire.com/" target="blank">Dvd Empire</a></li>
<li><a href="http://www.cinefilms-hd.com/index.html" target="blank">Cinéfilms</a></li>
<li><a href="http://picpusdan.free.fr/" target="blank">Picpusdan</a></li>
<li><a href="http://www.filmotech.fr/">Filmotech</a></li>
<li><a href="https://www.google.be/">Google</a></li>
</ul>
</li>
<li><a href="">Jacquettes</a>
<ul>
<li><a href="http://moviecovers.com/" target="blank">Movie Cover</a></li>
<li><a href="http://www.cinemapassion.com/jaquette-de-dvd-1-9.php" target="blank">Cinéma passion</a></li>
<li><a href="http://www.absolutecover.net/" target="blank">Absolute Cover</a></li>
<li><a href="http://www.cinefilms-hd.com/index.html">Cinéfilms- Hd</a></li>
</ul>
</li>
</ul>
<div id="main">
<?php if ($lien_retour) { ?><div class="retour"><a href="<?php echo($lien_retour_url); ?>"><?php echo($lien_retour_nom); ?></a></div><?php } ?>
<h1><?php echo($titre_liste); ?><?php if ($genre != "Tous les films") echo( " : <span class='selection'>" . $genre . "</span>" ); ?><?php if ($support != "Supports") echo( " : <span class='selection'>" . $support . "</span>" ); ?><?php if ($search != "") echo( " contenant <span class='selection'>" . $search . "</span>" ); ?></h1>
<?php if ($totalRows_Recordset1>0) { ?>
<table cellpadding="0" cellspacing="0" id="listefilms">
<?php if ($afficher_entetes) { ?>
<tr><?php if ($afficher_prets || $afficher_non_vu) { ?><th> </th><?php } ?><th><font size="2">Réf.</font></th><th><font size="2">Titre</font></th><th><font size="2">Genre</font></th><th><font size="2">Sup.</font></th><th><font size="2">Date </font></th></tr>
<?php } ?>
<?php do { ?>
<tr class="ligne" onclick="MM_goToURL('parent','detail.php?id=<?php echo($row_Recordset1['ID']); ?>');return document.MM_returnValue" onmouseover="className='ligne_on'" onmouseout="className='ligne'">
<?php if ($afficher_prets || $afficher_non_vu) { ?>
<td class="Puces">
<?php
if ( ($afficher_prets) && ($afficher_non_vu) ) {
if ( ($row_Recordset1['FilmVu'] == 'NON') && ($row_Recordset1['PretEnCours'] == 'OUI') )
echo ( '<img src="filmotech_img/fmt_point_vert_orange.png" alt="Film prêté et non visionné" />' );
elseif ($row_Recordset1['FilmVu'] == 'NON')
echo ( '<img src="filmotech_img/fmt_point_vert.png" alt="Film non visionné" />' );
elseif ($row_Recordset1['PretEnCours'] == 'OUI')
echo ( '<img src="filmotech_img/fmt_point_orange.png" alt="Prêt en cours" />' );
}
elseif ( ($afficher_prets) && ($row_Recordset1['PretEnCours'] == 'OUI') )
echo ( '<img src="filmotech_img/fmt_point_orange.png" alt="Prêt en cours" />' );
elseif ( ($afficher_non_vu) && ($row_Recordset1['FilmVu'] == 'NON') )
echo ( '<img src="filmotech_img/fmt_point_vert.png" alt="Film non visionné" />' );
?>
</td>
<?php } ?>
<td class="Reference"><?php echo( htmlentities($row_Recordset1['Reference'],ENT_COMPAT, "ISO-8859-1") ); ?></td>
<td class="TitreVF"><?php echo( htmlentities($row_Recordset1['TitreVF'],ENT_COMPAT, "ISO-8859-1") ); ?></td>
<td class="Genre"><?php echo( htmlentities($row_Recordset1['Genre'],ENT_COMPAT, "ISO-8859-1") ); ?></td>
<td class="Support"><?php echo( htmlentities($row_Recordset1['Support'],ENT_COMPAT, "ISO-8859-1") ); ?></td>
<td class="Annee"><?php echo( htmlentities($row_Recordset1['Annee'],ENT_COMPAT, "ISO-8859-1") ); ?></td>
<!--
alphabetique
-->
</tr>
<?php } while ($row_Recordset1 = mysql_fetch_assoc($Recordset1)); ?>
<tr>
<?php if ($afficher_prets || $afficher_non_vu) { ?>
</tr><tr>
<td colspan="3" class="Legende">
<?php
if ( ($afficher_prets) && ($afficher_non_vu) ) {
echo ( '<img src="filmotech_img/fmt_point_orange.png" alt="Prêt en cours" />' );?>
Prêt en cours | <?php
echo ( '<img src="filmotech_img/fmt_point_vert.png" alt="Film non visionné" />' );?>
Film non visionné <?php }
elseif ($afficher_prets) {
echo ( '<img src="filmotech_img/fmt_point_orange.png" alt="Prêt en cours" />' );?>
Prêt en cours <?php }
elseif ($afficher_non_vu) {
echo ( '<img src="filmotech_img/fmt_point_vert.png" alt="Film non visionné" />' );?>
Film non visionné <?php }
?>
</td>
<?php } else { ?>
<td colspan="3" class="total"><text-align:left><font size="2" color="#FEFEFE"><?php printf( "%d référence(s) par page et %d film(s) au total dans la base" , $totalRows_Recordset5, $totaldefilms ); ?></font></td>
<?php } ?>
</tr>
</table>
<div id="pagination">
<?php
// Affichage pagination
echo '<p align="center">'; //Pour l'affichage, on centre la liste des pages
if($pageActuelle!=1)
{
$precedent=$pageActuelle-1;
echo'<th> <a id="paginationG" href="galerie.php?page='.$precedent.'">« Précédent</a></th>';
}
for($i=1; $i<=$nombreDePages; $i++) //On fait notre boucle
{
echo'<th> <a id="paginationG" href="galerie.php?page='.$i.'">'. $i .'</a></th>';
}
if($pageActuelle<$nombreDePages)
{
$suivant= $pageActuelle+1;
echo'<th> <a id="paginationG" href="galerie.php?page='.$suivant.'">Suivant »</a></th>';
}
echo '</p>';
// fin d'affichage pagination
?>
<td colspan="3" class="total"><font size="2" color="#FEFEFE"><?php printf( "%d référence(s) par page et %d film(s) au total dans la base et vous êtes sur la page : %d " , $totalRows_Recordset1, $totaldefilms,$pageActuelle ); ?></font></td>
</Div>
<?php } else { ?>
<center>
<font size="3"; color="#FEFEFE">
<p>Aucun film à afficher... <?php if ($liste_dateMAJ) echo( ' | Dernière mise à jour : ' . $dateMAJ ); ?></p>
</font>
</center>
<?php } ?>
<center>
<font size="4">
<?php if ($search != "") echo( "<div class='retour'><a href=''>Tout afficher retour à l'écran principal</a></div>" ); ?>
</font>
</center>
</div> <!-- End #main --><div id="sidebar">
<div id="recherche">
<h4>Recherche spécifique et tri</h4>
<form id="form2" name="form2" method="post" action="">
<center>
<input name="zonerecherche" type="radio" value="TitreVF" checked="checked" />
Titre
<input name="zonerecherche" type="radio" value="Realisateurs"/>
Réalisateurs
<input name="zonerecherche" type="radio" value="Acteurs"/>
Acteurs
</center>
<input type="text" name="search" size="31" >
<input type="submit" name="Submit" value="Go">
</form>
<P> </p>
<p> </p>
<form id="form1" name="form1" method="post" action="">
<?php
?>
<select name="genre" style="width:155px;" onchange="javascript:form1.submit();" >
<option value="" <?php if ($genre==$row_Recordset2['Genre']) echo( 'Selected="selected"' ); ?>>Tous les films</option>
<?php if ($totalRows_Recordset2>0) do { ?>
<?php if ($row_Recordset2['Genre']!="") { ?>
<option value="<?php echo( $row_Recordset2['Genre'] ); ?>" <?php if ($genre==$row_Recordset2['Genre']) echo( 'Selected="selected"' ); ?>>
<?php echo( $row_Recordset2['Genre'] ); ?></option><?php } ?>
<?php } while ($row_Recordset2 = mysql_fetch_assoc($Recordset2)); ?>
</select>
<select name="support" style="width:87px;" onchange="javascript:form1.submit();" >
<option value="" <?php if ($support==$row_Recordset4['Support']) echo( 'Selected="selected"' ); ?>>Supports</option>
<?php if ($totalRows_Recordset4>0) do { ?>
<?php if ($row_Recordset4['Support']!="") { ?>
<option value="<?php echo( $row_Recordset4['Support'] ); ?>" <?php if ($support==$row_Recordset4['Support']) echo( 'Selected="selected"' ); ?>>
<?php echo( $row_Recordset4['Support'] ); ?></option><?php } ?>
<?php } while ($row_Recordset4 = mysql_fetch_assoc($Recordset4)); ?>
</select>
<center>
<h4><?php if ($genre != "Tous les films") echo( "<div class='retour'><a href=''>Désactiver le filtre << $genre >></a></div>" ); ?><h4>
<h4> <?php if ($support != "Supports") echo( "<div class='retour'><a href=''>Désactiver le filtre << $support >></a></div>" ); ?></h4>
</center>
</form>
</div>
<div id="dernieresentrees">
<h4>Un film au hasard pour ce soir</h4>
<P> </p>
<?php
$nb_T = 0;
$opdir = opendir("Affiches/");
while ($T = readdir($opdir))
{
if (!is_dir($T)) $nb_T++;
}
closedir($opdir);
?>
<script language='javascript'>
function alleatoire() {
// le nombre suivant correspond au nombre d'images total répertorier dans le répertoire
var nombre_images = <?=$nb_T?>;
// on demande un nombre alleatoire a l'ordinateur
var nombre_alleatoire = Math.random();
var numero = Math.round( ( nombre_images - 1 ) * nombre_alleatoire ) + 1;
images = new Array;
<?php
function trouverExt ($fichier)
{
// coupe le nom du fichier
$tableau = explode(".",$fichier);
// retourne les caractere apres le dernier .
return $tableau[count($tableau)-1];
}
// open directory
$myDirectory = dir("Affiches/");
$nb_T = 1;
// get each entry
while($entryName = $myDirectory->read())
{
if($entryName != '.')
{
if($entryName != '..')
{
if($entryName != 'thumbs.db')
{
if (!is_dir($entryName))
{
$extention = trouverExt($entryName);
if($extention = 'gif' or $extention = 'jpg' or $extention = 'bmp' or $extention = 'png'){
{
print("images[$nb_T] = '$entryName';");
$nb_T++;
}
}
}
}
}
}
}
// close directory
$myDirectory->close();
?>
var image = images[numero];
document.write("<div align='center'><a href=''><img src='Affiches/" + image + "' alt='Patientez Svp recherche' border='3' width='130' border-color='#FFFFFF'></a></div>");
}
alleatoire();
</script>
<center>
<a title="Cliquez ici pour voir un autre film au hasard" href="http://mesdvd.olympe.in/"><img src="filmotech_img/refresh2.png" alt="Un autre film"></a>
</center>
</div>
<div id="dernieresentrees">
<h4>Les 20 dernières entrées</h4>
<P> </p>
<?php
if ($totalRows_Recordset3>0) {
echo "<marquee width='100%' scrollamount='3' scrolldelay='1' behavior='alternate' loop='800' onmouseover='this.stop();' onmouseout='this.start();'>";
do {
$filename = sprintf('Affiches_mini/Filmotech_%05d.jpg' , $row_Recordset3['ID'] ) ;
if (file_exists($filename)) {
echo("<a href='detail.php?id=".$row_Recordset3['ID']."'>
<img src='".$filename."' alt='".$row_Recordset3['TitreVF']."'>
</a>");
};
}While ($row_Recordset3 = mysql_fetch_assoc($Recordset3));
echo "</marquee>";
};
?>
<center>
<font color="#F7F701">
<p> Cliquez sur une affiche pour accéder directement sur le détail du film</p>
</font>
</center>
</div>
</div> <!-- End #sidebar -->
</div> <!-- End #wrapper -->
<div id="footer">
<p>
<?php if ($pied_dateMAJ) echo( 'Dernière mise à 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> | "); ?>
Réalisé par : <font color ="#FFFF33">Michel Tombal</font></p>
</div> <!-- End #footer -->
</div> <!-- End #page -->
</body>
</html>
<?php mysql_free_result($Recordset1); mysql_free_result($Recordset2); mysql_free_result($Recordset3); mysql_free_result($Recordset4); mysql_free_result($Recordset5);?> ?>