Vous êtes ici Forums > Dépôt de sources > Afficher news une par une (déjà commencé !)

SUJET: Afficher news une par une (déjà commencé !)
  Le 24 Mai 2010 à 10:17:40
Bonjour,

J'ai commencé à mettre en place un système de news comme ceci :

Le site est fait sous Drupal (erf... obligé)
Une page gère l'affichage (page.tpl.php)
La page d'accueil affiche la dernière news en incluant news-front.php qui gère ceci
La page de news affiche toutes les news par ordre décroissant en incluant news.php qui est presque identique à news-front.php
Les news sont ajoutées et stockées dans une BDD

Je voudrais que sur la page d'accueil, les news s'affichent une par une au bout d'un temps donné : dernière news >> X secondes >> avant-dernière news >> X secondes etc en boucle.

Voici le code de mon fichier news-front.php qui gère ceci :

Code:
<?php
// on se connecte à notre base  
$base mysql_connect ('***''***''***');  
mysql_select_db('***'$base);  

// 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)  
$sql 'SELECT auteur, titre, date, texte_news FROM news ORDER BY date DESC LIMIT 1;';  

// 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)  
$req mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());

// on compte le nombre de news stockées dans la base de données
$nb_news mysql_num_rows($req);

if (
$nb_news == 0) {
   echo 
'Aucune news enregistrée.';
}
else {

   
// si on a au moins une news, on l'affiche
   
while ($data mysql_fetch_array($req)) {

      
// on décompose la date
      
sscanf($data['date'], "%4s-%2s-%2s %2s:%2s:%2s"$an$mois$jour$heure$min$sec);

      
// on affiche les résultats 
      
echo '<br />News de : ' htmlentities(trim($data['auteur'])) , '<br />';
      echo 
'Titre : ' htmlentities(trim($data['titre'])) , '<br />';
      echo 
'Postée le : ' $jour '/' $mois '/' $an ' à ' $heure ':' $min ':' $sec 'lt;br />';
      echo 
'News : ' nl2br(htmlentities(trim($data['texte_news']))) , 'lt;br /><br />';
   }
}
// on libère l'espace mémoire alloué à cette requête
mysql_free_result ($req);

// on ferme la connexion à la base de données
mysql_close ();
?>



Je suppose que c'est dans le "else" qu'il faut toucher quelque chose, mais quoi ? mettre une boucle ? une sorte de timer ?

HELP ! =)
lightben
profil du membre
Message:

Dernière réponse le
01-08-2017 à 11:39:39
par rihana
 

  Le 26 Mai 2010 à 10:37:39

regarde la fonction sleep() mais attention, beaucoup de serveur la désactive
http://www.phpsources.org/function.sleep.php
KOogar
Modérateur
site web du membre profil du membre
Messages: 316

 

  Le 01 Aout 2017 à 11:39:39
Je te félicite pour tout le travail que tu fais et pour toute la connaissance que tu as !
Merci aussi pour tes encouragements.

voyance par mail gratuite
rihana
profil du membre
Messages: 39

 
 
Librairie PHP

Connexion

 
 

Explications

 
 

Ressources

 
 
 
Partenaire officiel
Partenaire officiel
 
  Statistiques...
Stats du réseau:
visiteurs en ligne : 23
basées sur les utilisateurs actifs des 5 dernières minutes
membres : 20066
 
Stats du site phpsources:
Dernière mise à jour des stats
hier à

codes sources : 595
scripts : 981
articles - actualités : 101
tutoriel : 34
sites sur le langage PHP : 231
commentaires : 4
total des scripts téléchargés: 1 809 724
total hits codes sources: 7 478 707