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 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131
|
<section>
<div class="findepage">
<?php
require "#require/connet_bdd.php"; //Connexion à la base de données
require "#require/bcode_smiley.php"; //tout est dans le nom
// Le nombre de messages qui sera affichés par page
$msgpage = 4;
// On récupère le nombre de message total qui sont dans la base de données
if (isset($_GET ['billet']))
{
$LID = $_GET ['billet'];
}
else
{
$LID = "xx";
}
$recupere = $bdd->query('SELECT COUNT(*) FROM commentaires WHERE id_billet = ' . $LID );
$msgtotal = $recupere->fetchColumn();
// Nombre de page total est égal à (nombre de message total divisé par le nombre de message par page)
$nbrpage = ceil($msgtotal/$msgpage); //ceil arrondie au chiffre supérieur
// Si aucune page n'est choisie alors la page par défaut est la première
if(isset($_GET['page']) AND !empty($_GET['page']) AND $_GET['page'] >0 AND $_GET['page'] <= $nbrpage)
{
$_GET['page'] = intval($_GET['page']);
$page = $_GET['page'];
}
else
{
$page = 1;
}
// page de départ qui servira pour la requête "desc & limit"
$pagestart = ($page-1)*$msgpage;
// Récupération du billet
$req = $bdd->prepare('SELECT id, titre, contenu, DATE_FORMAT(date_creation, \'%d/%m/%Y à %Hh%i \') AS date_creation FROM billet WHERE id = ?');
$req->execute(array($LID));
$donnees = $req->fetch();
?>
<!-- Affichage du billet -->
<div class="insides">
<div class="block_titre"> <!-- On affiche le titre et la date de création du billet -->
<?php echo '<span class="titre_forum">' . htmlspecialchars($donnees['titre']) . '</span> <p class="date_forum"> Posté le ' . $donnees['date_creation'] . '</p> ' ; ?>
</div>
<p class="contenu_forum">
<?php echo nl2br (texte(htmlspecialchars($donnees['contenu']))) ; ?> <!-- On affiche le contenu du billet -->
</p>
</div>
<?php
$req->closeCursor(); // Important : on libère le curseur pour la prochaine requête
// Récupération des commentaires
$req = $bdd->prepare('SELECT pseudo, commentaire, DATE_FORMAT(date_commentaire, \'%d/%m/%Y à %Hh%i \') AS date_commentaire FROM commentaires WHERE id_billet = ? ORDER BY id DESC LIMIT ?, ?');
$req->bindValue(1, $LID);
$req->bindValue(2, (int) $pagestart, PDO::PARAM_INT);
$req->bindValue(3, (int) $msgpage, PDO::PARAM_INT);
$req->execute();
while ($donnees = $req->fetch())
{
echo '<div class="commentaire">
<p class="line"> Posté le ' .$donnees['date_commentaire']. 'par <b>' .htmlspecialchars($donnees['pseudo']). '</b>.<br/>
<span style="color: blue">' .nl2br(texte(htmlspecialchars($donnees['commentaire']))). '</span> </p>
</div>';
}
?>
<form class="sujet" action="commentaire_traitement.php" method="post">
<input class="form" type="text" name="pseudo" id="pseudo" placeholder="Votre pseudo" title="Les caractères spéciaux ne sont pas autorisé, merci" />
<input type="submit" class="form2" style="" value="Envoyer" /><br/>
<textarea class="form" name="commentaire" placeholder="Éditer le commentaire ici, vous pouvez étirer le bloc verticalement en vous plaçant sur le coin en bas à droite." ></textarea>
<input type="hidden" name="id_billet" value="<?php echo $_GET['billet']; ?>" />
</form>
<span class="line"><i>* Vous devez remplir tout les champs, votre pseudo ne doit pas comporter de caractères spéciaux, ni d'espace, de même le pseudo doit contenir entre 3 et 12 caractères.
Si ceci n'est pas respecté, les données ne seront pas envoyé.</i></span>
<?php
echo '</div>'; // fermeture de "findepage"
echo '<div id="pagination">'; //Pour l'affichage, on centre la liste
if ($page > 1)
{
echo '<a class="lien" href="?page=' . ($page - 1) . '"> << </a>';
}
for ($i = 1; $i <= $nbrpage; $i++)
{
if ($i == $page)
{
echo '<span class="sanslien">' .$i. '</span> ';
}
else
{
echo ' <a class="lien" href="?page=' . $i . '"> ' . $i . '</a>';
}
}
if ($page < $nbrpage)
{
echo '<a class="lien" href="?page=' . ($page + 1) . '"> >> </a>';
}
echo '</div>'; // fermeture de "pagination"
$req->closeCursor();
?>
</section> |
Partager