[PHP] Boucle while n'affiche JAMAIS la première ligne...

Suivre ce topic
Ce topic est suivi par : Osini
Ce topic a été résolu
Balatharas

Balatharas Le 1 octobre 2016 à 12:34 (Édité le 25 janvier 2019 à 17:52)

Bonjouur les Ananas  ! 
Ça faisait longtemps que je n'avais pas poster ici :$
Alors voilà je vous expose mon petit problème 😋:
En gros, j'ai une boucle while() qui affiche les résultat de ma table posts.
Donc j'ai fait un fetch() etc.. 
Je me suis inspiré de ma boucle qui sert à afficher mes articles, histoire de ne pas avoir d'erreurs.
La boucle marche, MAIS, oui il y en a un, eh bien s'il y a 3 lignes dans la BDD (IDs: 1, 2, 3), alors ce sera les lignes 2 et 3 qui seront affichées, mais pas la 1...... Et quand je fais un rowCount() pour afficher un message s'il n'y a pas de post:
<?php
if($rowPosts == 0) {
?>
<br />
<span class="error bad_error">Aucun posts dans votre fil d'actualité pour le moment.</span>
<br /><br />
<?php } ?>
Eh bien, s'il y a 1 ligne, alors rien ne s'affichera....
Voilà ma boucle while + ma requête query + quelques autres requêtes :
$postsFil = $bdd->query("SELECT * FROM posts ORDER BY id DESC");
$rowPosts = $postsFil->rowCount();

$pF = $postsFil->fetch();
$pseudoAvat = $pF['pseudo'];

$reqAvatar = $bdd->prepare('SELECT avatar FROM membres WHERE pseudo = ?');
$reqAvatar->execute(array($pseudoAvat));
$avatar = $reqAvatar->fetch();
<?php
while($p = $postsFil->fetch()) {
?>
<div id="post-<?= $p['uuid'] ?>">
   <fieldset class="inputstyle field fil">
      <div id="conteneur_fil">
         <div id="colonne2">
            <span id="zoom">
               <img style="border: 1px solid #CECECE;" class="img_cadre" width="55px" height="55px" src="../../Membres/Avatar/<?= $avatar['avatar'] ?>" />
            </span>
         </div>
         <fieldset style="border: transparent;">
            <b>
               <u>
                  <a href="../../profil/<?= $p['pseudo'] ?>">
                     <?= $p['pseudo'] ?>:
                  </a>
               </u>
            </b>
             <i>
               <font color="grey">
                  le <?= $p['jour'] ?> à <?= $p['heure'] ?>
               </font>
            </i>
            <?php if($userinfo['rang'] == "Administrateur") { ?> | ID: <?= $p['id'] ?><?php } ?>
            <br />
            <?= $p['contenu'] ?>
            <?php if(!empty($p['image'])) { ?>
               <br /><br />
               Image jointe:<br />
               <img width="210px" height="210px" src="../../Membres/Posts/<?= $p['image'] ?>" />
            <?php } ?>
         </fieldset>
      </div>
   </fieldset>
</div>
<br />
<?php } ?>
Voilà voilà merci d'avance 😄

Beignet
Balatharas

Balatharas Le 2 octobre 2016 à 13:57 (Édité le 2 octobre 2016 à 13:58)

Up !
Dwardower

Dwardower Le 2 octobre 2016 à 14:57

ajoute moi skype : dwardower
TheOldNoob

TheOldNoob Le 2 octobre 2016 à 21:04 (Édité le 2 octobre 2016 à 21:05)

Sur ta ligne
while($p = $postsFil->fetch()) {

Essaie de faire un fetchAll
Balatharas

Balatharas Le 4 octobre 2016 à 17:43

Désolé, @Dwardower je préfère ici,
@TheOldNoob ça ne reconnais pas, et ça me met "Undefined..." pour toutes mes variables
Balatharas

Balatharas Le 4 octobre 2016 à 17:46

Et je comprends pas, j'ai fait une autre boucle while dans le profil, qui regroupe les posts de la personne a qui apparatient le profil, et la ça marche niquel
TheOldNoob

TheOldNoob Le 5 octobre 2016 à 12:30

Et c'est pas dans ton css, genre une div qui empiete sur une autre?
Fait un ctrl+U voir si ta première entré apparait
Balatharas

Balatharas Le 5 octobre 2016 à 17:54

Non, il n'y a vraiment que la première ligne qui n'apparait nulle part, et pas dans le CTRL+U non plus
Vous devez être connecté pour poster une réponse. Se connecter ou Créer un compte