Bonjour,

Je suis un noob en php et j'essaye de faire un site. Mon problème est donc que je n'arrive pas à afficher les différents commentaires sur chaques pages..
Quand je récupère la page, la news s'affiche avec les premiers commentaires, mais dès que j'essaye d'atteindre la seconde page, il me mets une erreur au niveau de la news et du commentaires (le billet= disparaît de l'url dès le p2 et je pense que c'est pour cela)

récupération du billet
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
	<?php
	// Récupération du billet
	$req = $bdd->prepare('SELECT id, titre, contenu, DATE_FORMAT(date_creation, \'%d/%m/%Y à %Hh%imin%ss\') AS date_creation_fr FROM niouz WHERE id = ?');
	$req->execute(array($_GET['billet']));
	$donnees = $req->fetch();
	?>
 
 
 
	<div id="corps">
 
 
	<div class="news">
 
 
    <h3>
        <?php echo htmlspecialchars($donnees['titre']); ?>
        <em>le <?php echo $donnees['date_creation_fr']; ?></em>
    </h3>
 
 
    <p>
    <?php
    echo nl2br(htmlspecialchars($donnees['contenu']));
	$req->closeCursor(); // Important : on libère le curseur pour la prochaine requête
    ?>
    </p>
 
	</div>




Affichage des commentaires
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
<?php
mysql_connect("localhost", "***", "***");
mysql_select_db("****");
 
// On met dans une variable le nombre de messages qu'on veut par page
$nombreDeMessagesParPage = 3; // Essayez de changer ce nombre pour voir :o)
// On récupère le nombre total de messages
$retour = mysql_query('SELECT COUNT(*) AS nb_messages FROM commentaires');
$donnees = mysql_fetch_array($retour);
$totalDesMessages = $donnees['nb_messages'];
// On calcule le nombre de pages à créer
$nombreDePages  = ceil($totalDesMessages / $nombreDeMessagesParPage);
// Puis on fait une boucle pour écrire les liens vers chacune des pages
echo 'Page : ';
for ($i = 1 ; $i <= $nombreDePages ; $i++)
{
    echo '<a href="commentaires.php?page=' . $i . '">' . $i . '</a> ';
}
?>
 
</p>
 
<?php
 
if (isset($_GET['page']))
{
        $page = $_GET['page']; // On récupère le numéro de la page indiqué dans l'adresse 
}
else // La variable n'existe pas, c'est la première fois qu'on charge la page
{
        $page = 1; // On se met sur la page 1 (par défaut)
}
 
// On calcule le numéro du premier message qu'on prend pour le LIMIT de MySQL
$premierMessageAafficher = ($page - 1) * $nombreDeMessagesParPage;
 
	?>
 
 
 
 
 
 
 
 
 
 
	<h2>Commentaires</h2>
 
	<?php
	// Récupération des commentaires
	$req = $bdd->prepare('SELECT redacteur, contenu, DATE_FORMAT(date_commentaire, \'%d/%m/%Y à %Hh%imin%ss\') AS date_commentaire_fr FROM commentaires WHERE id_niouz = ? ORDER BY date_commentaire, id DESC LIMIT ' . $premierMessageAafficher . ', ' . $nombreDeMessagesParPage);
	$req->execute(array($_GET['billet']));
 
	while ($donnees = $req->fetch())
	{
	?>
 
	<div id ="livredor">
 
	<p><strong><?php echo htmlspecialchars($donnees['redacteur']); ?></strong> le <?php echo $donnees['date_commentaire_fr']; ?></p>
	<p><?php echo nl2br(htmlspecialchars($donnees['contenu'])); ?></p>
	</div>
	<?php
	} // Fin de la boucle des commentaires
	$req->closeCursor();
	?>