news afficher

news afficher - PHP - Programmation

Marsh Posté le 15-05-2019 à 22:09:01    

bonjour, j'ai mis ce code pour afficher les news
 

Citation :

<?php
     //on affiche la requette pour afficher la news
  $query=$db->prepare('SELECT id, titre, date, contenu, membre_pseudo FROM news
         LEFT JOIN forum_membres ON news.id = id ');
  echo '<article>';
   
  // ensuite on vas afficher les infos de la news
  if ($query->execute())
  {
  while ($data = $query->fetch(PDO::FETCH_ASSOC))
  {
  ?>
  <!--on affiche le titre de la news-->
  <h2><?php echo $data['titre'];?></h2>
  <!--on affiche le pseudo et la date-->
  <div class="publier-news">publié par <div class="news-avatar icon-avatar-news-homme"><div class="news-avatar-homme-en-ligne"></div></div><?php echo $data['membre_pseudo']; ?> à <?php echo AffDate($data['date']);?></div>
 
   <p class="description-news"><?php echo $data['contenu']; ?></p>
 
   <ul class="option-news"><li>vues : 4910</li><li>commentaires : 8</li><li>écrire un commentaire</li><li>forum : mises à jour</li></ul>
 
<?php
 
}
}?>
</article>


 
 
il m'affiche bien
 
et j'ai ajouté membre pseudo afin d'afficher le pseudo qui a écrit la news
 
le souci, si je crée un pseudo , il m'ajoute automatique les doublons de la news
 
et si je supprimes mon pseudo, il supprime les news  
 
 
peut être c'est un souci du left joint que j'ai mal fait
 
es ce quelqu'un peut m'aider a garder la news afin d'eviter de crée des cadres  des que je rajoutes un pseudo
 
merci

Reply

Marsh Posté le 15-05-2019 à 22:09:01   

Reply

Marsh Posté le 16-05-2019 à 14:24:55    

C'est quoi cette requête !?
 
Ton ON qui définit ta jointure (ce qui lit tes 2 tables ensemble, à la louche id_auteur de la news et l'id_membre de ton user) semble être ton WHERE et tu n'as pas non plus de GROUP BY.
 
Sans jointure propre et sans GROUP BY tu doit récupérer toutes tes news multiplié par tout tes membres...
 
Revois un peu les bases https://www.qwant.com/?q=mysql+jointure


---------------
D3
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed