Systeme de pagination Ne fonctionne pas
watarux
Messages postés
266
Date d'inscription
Statut
Membre
Dernière intervention
-
zermat Messages postés 160 Date d'inscription Statut Membre Dernière intervention -
zermat Messages postés 160 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je vais essayer de vous expliquer en détail mon problème.
tout simplement j'essaie de faire une page avec un système de pagination donc on choisi le genre de film que l'on veut lister et ensuite le nombre de film affiché par page avec en suite une liste des pages
cela fonctionne à moitie tout simplement quand j'envoie le formulaire il m'affiche bien les film avec le nombre choisi et ensuite les pages en question mais quand je clic sur une page et bien il ne m m'affiche plus rien juste mon formulaire que je peux renvoyer pour choisir ce que je veux comme genre de film etc....
Je vous remercie énormément de votre aide et d'avoir pris le temps de me lire.
je vous poste également les parties du code concerné
<form method="get">
<label>Genre</label>
<select name="genre">
<?php
// je prepare ma reqûete sql.
$sql = $DB->prepare('SELECT * FROM tp_genre ORDER BY nom');
// j'execute ma requête sql
$sql->execute();
// je recupere les information de ma requête dans une variable qui est un tableau.
$tab1 = $sql->fetchall();
// j'affiche tout les genres de film disponible.
foreach($tab1 as $d)
{
echo '<option value="'.$d['id_genre'].'">';
echo $d['nom'];
echo '</option>';
}
?>
</select>
<select name="idpage">
<?php
for($i=1;$i <= 30;$i++)
{
echo "<option value='$i'>".$i."</option>";
}
?>
</select>
<!-- //fin de la liste des genres de film.-->
<input type="submit" value="End" />
</form>
if(isset($_GET['genre']))
{
$nbbypage = $_GET['idpage'];
$rep = $DB->query('SELECT COUNT(*) AS contenu FROM tp_film');
$total = $rep->fetch();
$nbcontenu = $total['contenu'];
$nbpage = ceil($nbcontenu / $nbbypage);
if (isset($_GET['page']))
$page = $_GET['page'];
else
$page = 1;
$firstpage = ($page - 1) * $nbbypage;
$rep->closeCursor();
$rep = $DB->prepare("SELECT * FROM tp_film ORDER BY titre LIMIT $firstpage, $nbbypage");
$rep->execute();
$tabrep = $rep->fetchall();
echo "$firstpage";
echo "$nbbypage";
foreach($tabrep as $l)
{
echo "<div class='blockfilm'>";
echo "<h2 class='stitre'>";
echo $l['titre'];
echo "</h2>";
echo "<div class='dureeannee'>";
echo "<p class='duree'>".$l['duree_min']." Min"."</p>";
echo "<p class='annee'>".$l['annee_prod']." Année de sortie"."</p>";
echo "</div>";
echo "<div class='resum'>";
echo "Résumé:<br / >".$l['resum'];
}
$rep->closeCursor();
echo 'Page : ';
for ($i = 1 ; $i <= $nbpage ; $i++)
{
echo '<a href="my_cinema.php?page=' . $i . '&idpage='.$_GET['idpage'].'">' . $i . '</a> ';
}
}
Je vais essayer de vous expliquer en détail mon problème.
tout simplement j'essaie de faire une page avec un système de pagination donc on choisi le genre de film que l'on veut lister et ensuite le nombre de film affiché par page avec en suite une liste des pages
cela fonctionne à moitie tout simplement quand j'envoie le formulaire il m'affiche bien les film avec le nombre choisi et ensuite les pages en question mais quand je clic sur une page et bien il ne m m'affiche plus rien juste mon formulaire que je peux renvoyer pour choisir ce que je veux comme genre de film etc....
Je vous remercie énormément de votre aide et d'avoir pris le temps de me lire.
je vous poste également les parties du code concerné
<form method="get">
<label>Genre</label>
<select name="genre">
<?php
// je prepare ma reqûete sql.
$sql = $DB->prepare('SELECT * FROM tp_genre ORDER BY nom');
// j'execute ma requête sql
$sql->execute();
// je recupere les information de ma requête dans une variable qui est un tableau.
$tab1 = $sql->fetchall();
// j'affiche tout les genres de film disponible.
foreach($tab1 as $d)
{
echo '<option value="'.$d['id_genre'].'">';
echo $d['nom'];
echo '</option>';
}
?>
</select>
<select name="idpage">
<?php
for($i=1;$i <= 30;$i++)
{
echo "<option value='$i'>".$i."</option>";
}
?>
</select>
<!-- //fin de la liste des genres de film.-->
<input type="submit" value="End" />
</form>
if(isset($_GET['genre']))
{
$nbbypage = $_GET['idpage'];
$rep = $DB->query('SELECT COUNT(*) AS contenu FROM tp_film');
$total = $rep->fetch();
$nbcontenu = $total['contenu'];
$nbpage = ceil($nbcontenu / $nbbypage);
if (isset($_GET['page']))
$page = $_GET['page'];
else
$page = 1;
$firstpage = ($page - 1) * $nbbypage;
$rep->closeCursor();
$rep = $DB->prepare("SELECT * FROM tp_film ORDER BY titre LIMIT $firstpage, $nbbypage");
$rep->execute();
$tabrep = $rep->fetchall();
echo "$firstpage";
echo "$nbbypage";
foreach($tabrep as $l)
{
echo "<div class='blockfilm'>";
echo "<h2 class='stitre'>";
echo $l['titre'];
echo "</h2>";
echo "<div class='dureeannee'>";
echo "<p class='duree'>".$l['duree_min']." Min"."</p>";
echo "<p class='annee'>".$l['annee_prod']." Année de sortie"."</p>";
echo "</div>";
echo "<div class='resum'>";
echo "Résumé:<br / >".$l['resum'];
}
$rep->closeCursor();
echo 'Page : ';
for ($i = 1 ; $i <= $nbpage ; $i++)
{
echo '<a href="my_cinema.php?page=' . $i . '&idpage='.$_GET['idpage'].'">' . $i . '</a> ';
}
}
A voir également:
- Systeme de pagination Ne fonctionne pas
- Restauration systeme windows 10 - Guide
- Vérificateur des fichiers système - Guide
- Pagination powerpoint - Guide
- Cette action ne peut pas être réalisée car le fichier est ouvert dans system - Guide
- Vous avez besoin d'une autorisation de la part de système pour modifier ce dossier - Guide
mais ça ne marche pas quand même ça me retourne les erreuurs suivantes.
Notice: Undefined index: idpage in C:\wamp\www\Champ_de_recherche.php on line 135
Call Stack
# Time Memory Function Location
1 0.0015 238096 {main}( ) ..\my_cinema.php:0
2 0.0026 275232 include( 'C:\wamp\www\Champ_de_recherche.php' ) ..\my_cinema.php:9
( ! ) Warning: Division by zero in C:\wamp\www\Champ_de_recherche.php on line 139
Call Stack
# Time Memory Function Location
1 0.0015 238096 {main}( ) ..\my_cinema.php:0
2 0.0026 275232 include( 'C:\wamp\www\Champ_de_recherche.php' ) ..\my_cinema.php:9