/*
* But du script :
* Permettre d'afficher une simple liste des films stockés avec leur image
* sous forme de page
*
*/
// Fonctions additionnelles
// crée sous forme d'une chaine de caractères un lien en html
function lien($url,$contenu)
{
return '' . $contenu . '';
}
// Paramêtres par default de la future requête SQL
require(RACINE_SOURCE . 'scripts/script-affichage_visiteur-parametre_SQL.php');
// Adresse de base pour l'affichage des pages
$url='?';
// Test existance du genre
if(isset($_GET['genre']))
{
// Substitution des caractères pouvant permettre des injections SQL
$valeur=$securite->toValueSQL($_GET['genre']);
if($_GET['genre']=='0')
{
// L'id_genre demandé existe mais est egal à 0
// On rajoute au filtre la condition que les id_genre du film doit être NULL
$filtre=$filtre . ' AND film_test.id_genre IS NULL';
// On rajoute à l'url un paramêtre GET qui est le genre
$url= $url . "genre=0&";
}
elseif(valeur_existe($genre,'id_genre',$valeur))
{
// L'id_genre demandé existe et est différent de 0
// On rajoute au filtre la condition que les id_genre du film doit être egal à celui qu'à tapper l'utilisateur
$filtre=$filtre . ' AND film_test.id_genre=' . $valeur;
// On rajoute à l'url un paramêtre GET qui est le genre
$url= $url . "genre=" . htmlspecialchars($_GET['genre']) . "&";
}
// Si le genre n'est pas reconnu la requête ne sera pas filtré (le filtre garde sa valeur par default)
}
// On compte le nombre de film qui réponde aux conditions
$nombreDeFilm=$film->compter_entree($jointure_SQL . ' ' . $filtre . ' ' . $ordre);
// On détermine le nombre de page necessaire au total (11 fiches / page)
$nombreDePage=ceil($nombreDeFilm/11);
// Test du n° de page
if(isset($_GET['p']) && $_GET['p']>0 && $_GET['p'] <= $nombreDePage)
{
// le n° de page est possible
// On transforme le nombre tapper par l'utilisateur en entier
$p = (int) $_GET['p'];
}
else
{
// n° de page impossible ou non communiqué
// La page demandé est remplacer par la page 1
$p=1;
}
// On détermine l'interval de film à afficher
$portee='LIMIT ' . ($p-1)*11 . ',' . 11;
// Test du nombre de page total
if($nombreDePage>1)
{
// On affiche la liste des pages seulement si le nombreDePage Total dépasse 1
echo "Page : ";
// variable pour le test du n° de page trouvé
$nonTrouve=true;
// on crée la liste des liens menant vers le n° de page possible
for($i=1;$i<$nombreDePage;$i++)
{
if($nonTrouve && $i==$p)
{
// Le n° de page correspond à celui parcouru :
// - on le met en gras
// - on le met pas en tant que lien
// - on place un - après
echo '' . $i . ' - ';
// On indique le n° de page à était trouvé
$nonTrouve=false;
}
else
{
// Il ne sagit pas du n° de page choisie : on affiche un lien et on met un - après lui
echo lien($url,$i) . ' - ';
}
}
// La dernière page est un cas particulier : on ne place pas de - après elle
if($nonTrouve && $i==$p)
{
// Le n° de page correspond à celui parcouru
echo '' . $i . '
';
$nonTrouve=false;
}
else
{
// Il ne sagit pas du n° de page choisie
echo lien($url,$i) . '
';
}
}
// On récupère la liste des films
$liste_film_SQL=$film->select($colonnes,$jointure_SQL . ' ' . $filtre . ' ' . $ordre . ' ' . $portee);
// On affiche la fiche de chaque film dans un tableau.
require(RACINE_SOURCE . 'scripts/script-affichage_visiteur-generateur_liste_fiche.php');
?>