[réglé] une image entre deux news sur mon système de news

une image entre deux news sur mon système de news [réglé] - PHP - Programmation

Marsh Posté le 01-12-2007 à 16:20:52    

Bonjour. J'ai actuellement un système de news.
 
J'affiche mes news de la plus récente à la plus ancienne en fonction de la date.
 
Je souhaiterais savoir comment faire pour inserer une bannière (ou autre) toujours entre la dernière news postée et l'avant dernière. Uniquement entre ces deux !
 
Voici mon code

Code :
  1. <?php
  2. // on se connecte à notre base
  3. $base = mysql_connect ('');
  4.     mysql_select_db('', $base);
  5. $nombreDeMessagesParPage = 20; // Le nombre de news sur chaque page
  6. // On récupère le nombre total de messages
  7. $retour = mysql_query('SELECT COUNT(*) AS nb_news FROM news');
  8. $donnees = mysql_fetch_array($retour);
  9. $totalDesMessages = $donnees['nb_news'];
  10. // On calcule le nombre de pages à créer
  11. $nombreDePages  = ceil($totalDesMessages / $nombreDeMessagesParPage);
  12. if (isset($_GET['num_page']))
  13. {
  14.     $page = $_GET['num_page']; // On récupère le numéro de la page indiqué dans l'adresse (news.php?num_page=4)
  15. }
  16. else // La variable n'existe pas, c'est la première fois qu'on charge la page
  17. {
  18.     $page = 1; // On se met sur la page 1 (par défaut)
  19. }
  20. // On calcule le numéro du premier message qu'on prend pour le LIMIT de MySQL
  21. $premierMessageAafficher = ($page - 1) * $nombreDeMessagesParPage;
  22. // lancement de la requête. on sélectionne les news que l'on va ordonner suivant l'ordre "inverse" des dates (de la plus récente à la plus vieille : DESC) tout en ne sélectionnant que le nombre voulu de news à afficher (LIMIT)
  23. $sql = 'SELECT id, titre, date,  auteur FROM news
  24. ORDER BY date1 desc LIMIT ' . $premierMessageAafficher . ', ' . $nombreDeMessagesParPage;
  25. // on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)
  26. $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
  27. // on compte le nombre de news stockées dans la base de données
  28. $nb_news = mysql_num_rows($req);
  29. if ($nb_news == 0) {
  30.     echo 'Aucune news enregistrée.';
  31. }
  32. else {
  33.     // si on a au moins une news, on l'affiche
  34.     while ($data = mysql_fetch_array($req)) {
  35.         // on décompose la date
  36.         sscanf($data['date1'], "%4s-%2s-%2s %2s:%2s:%2s", $an, $mois, $jour, $heure, $min, $sec);
  37.         // on affiche les résultats
  38.       echo '<p id="'.$data['id'].'">'; ?>
  39. <h2><? echo ' <a href="index-'.$data['id'].'.php">' .stripslashes(htmlentities(trim($data['titre']))).  '</a>';  ?></h2><br />
  40.   <h6><? echo '' , $jour , '/' , $mois , '/' , $an , ' à ' , $heure , ':' , $min , '' ;  ?> </h6><br />
  41.   <?
  42.          }
  43. }
  44. // on libère l'espace mémoire alloué à cette requête
  45. mysql_free_result ($req);
  46. ?>


Message édité par jc66 le 01-12-2007 à 18:05:23
Reply

Marsh Posté le 01-12-2007 à 16:20:52   

Reply

Sujets relatifs:

Leave a Replay

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