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
| <?php
// On récupère les 5 derniers billets
$req = $bdd->query('SELECT post_id, post_title, post_content, DATE_FORMAT(post_date, \'%d/%m/%Y à %Hh%imin%ss\') AS date_fr FROM posts ORDER BY post_date DESC LIMIT 0, 5');
$tab_donnees = $req->fetchAll();
$req->closeCursor(); // Ferme le curseur, permettant à la requête -SQL!!- d'être de nouveau exécutée
$req_com = $bdd->prepare('SELECT comment_author_name, comment_content, DATE_FORMAT(comment_date, \'%d/%m/%Y à %Hh%imin%ss\') AS comment_date_fr FROM comments WHERE comment_post_id = :postid ORDER BY comment_date');
$req_com->bindParam('postid', $com_post_id);
foreach($tab_donnees as $donnees)
{
?>
<div class="news">
<h3>
<?php
echo htmlspecialchars($donnees['post_title']); // Convertit les caractères spéciaux en entités HTML, affichage du titre
?>
<em>le <?php echo $donnees['date_fr']; ?> </em> <!-- Date -->
</h3>
<p>
<?php
echo nl2br(htmlspecialchars($donnees['post_content'])); // Insère un retour à la ligne HTML à chaque nouvelle ligne, convertit les caractères spéciaux en entités HTML, affichage du contenu
?>
<br />
<em> <?php
// Récupération des commentaires
$com_post_id = $donnees['post_id']);
$req_com->execute();
$t_donnees = $req_com->fetchAll();
$req_com->closeCursor(); // Important : on libère le curseur pour la prochaine requête
foreach ($t_donnees as $sdonnees) // Boucle
{
?>
<p><strong><?php echo htmlspecialchars($sdonnees['comment_author_name']); ?></strong> le <?php echo $sdonnees['comment_date_fr']; ?></strong></p>
<p><?php echo nl2br(htmlspecialchars($sdonnees['comment_content'])); ?></p>
<?php
} // Fin de la boucle des commentaires
?>
</em> <!-- Commentaires -->
</p>
</div>
<?php
} // Fin de la boucle
?> |
Partager