Problème boucle for
Résolu
tete0148
Messages postés
413
Date d'inscription
Statut
Membre
Dernière intervention
-
tete0148 Messages postés 413 Date d'inscription Statut Membre Dernière intervention -
tete0148 Messages postés 413 Date d'inscription Statut Membre Dernière intervention -
Bonjour , je me sert d' une boucle for pour faire un système d' affichage de messages sur mon site, cette boucle est censée afficher un lien qui permet de changer de page.
Cette boucle for ne s' affiche tout simplement pas, il n' y a pourtant pas d' erreur.
Merci de votre réponse
Sincèrement ...
<?php try { $bdd = new PDO('mysql:host=*****l;dbname=*****', '*****', '*****'); } catch(Exception $e) { die('Erreur : '.$e->getMessage()); } $messages_par_pages = 2; $retour = $bdd->query('SELECT COUNT(*) AS nb_messages FROM messages'); $totalDesMessages = $donnees['nb_messages']; $nombreDePages = ceil($totalDesMessages / $messages_par_pages); // On calcule le nombre de pages à créer if (isset($_GET['page'])) { $page = $_GET['page']; // On récupère le numéro de la page indiqué dans l'adresse (livreor.php?page=4) } 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) } $premierMessageAafficher = ($page - 1) * $messages_par_pages; $reponse = $bdd->query('SELECT * FROM messages ORDER BY id_message DESC LIMIT ' . $premierMessageAafficher . ', ' . $messages_par_pages); $messages = $reponse->fetchAll(); foreach ($messages as $element) { echo ' <div id="news"><?php echo $element["id_message"]; ?> <p class="infos_news">Ajouter par <?php echo $element["auteur_message"]; ?> le <?php echo $element["date_message"]; ?></p> <p class="titre_news"><?php echo $element["titre_message]; ?></p> <p class="contenu_news"><?php echo $element["contenu_message"]; ?></p> </div>' ; } for ($i = 1 ; $i <= $nombreDePages ; $i++) { echo '<a href="index.php?page=' . $i . '">' . $i . '</a> '; }
Cette boucle for ne s' affiche tout simplement pas, il n' y a pourtant pas d' erreur.
Merci de votre réponse
Sincèrement ...
A voir également:
- Problème boucle for
- Downloader for pc - Télécharger - Téléchargement & Transfert
- Idm for mac - Télécharger - Téléchargement & Transfert
- Copytrans heic for windows - Télécharger - Visionnage & Diaporama
- Instagram for pc - Télécharger - Divers Communication
- Microsoft store download for pc - Guide
3 réponses
Bonjour
Tu es dans un passage en PHP dans ton script, et tu ouvres à nouveau une balise PHP. Ça ne veut rien dire et c'est incorrect :
Il y a plusieurs façon de faire, entre autres :
Tu es dans un passage en PHP dans ton script, et tu ouvres à nouveau une balise PHP. Ça ne veut rien dire et c'est incorrect :
{ echo ' <div id="news"><?php echo $element["id_message"]; ?>
Il y a plusieurs façon de faire, entre autres :
foreach ($messages as $element) { ?> <div id="news"><?php echo $element["id_message"]; ?> <p class="infos_news">Ajouter par <?php echo $element["auteur_message"]; ?> le <?php echo $element["date_message"]; ?></p> <p class="titre_news"><?php echo $element["titre_message]; ?></p> <p class="contenu_news"><?php echo $element["contenu_message"]; ?></p> </div>' ; <?php }
Je ne comprend pas très bien ta réponse , la boucle qui ne fonctionne pas est celle-ci :
qui se trouve en fin de code.
for ($i = 1 ; $i <= $nombreDePages ; $i++) { echo '<a href="index.php?page=' . $i . '">' . $i . '</a> '; }
qui se trouve en fin de code.
Comprends-tu que tu rouvrais une balise <?PHP Alors que tu étais déjà dans du php ? La structure du code est complètement incohérente : on ne sait pas
Je remarque de plus que tu as oublié un " dans echo $element["titre_message];
Alors ça m'étonnerait beaucoup que le début de ton code marche : c'est peut-être ce qui empêche ta boucle finale de fonctionner.
D'autre part, ta valeur de $nombreDePages est mal calculé. Il faut ajouter 1, car tel que tu le calcules, si tu n'as qu'un seul message, tu as 0 page (et ton for n'affiche rien du tout)
Je remarque de plus que tu as oublié un " dans echo $element["titre_message];
Alors ça m'étonnerait beaucoup que le début de ton code marche : c'est peut-être ce qui empêche ta boucle finale de fonctionner.
D'autre part, ta valeur de $nombreDePages est mal calculé. Il faut ajouter 1, car tel que tu le calcules, si tu n'as qu'un seul message, tu as 0 page (et ton for n'affiche rien du tout)