News PHP Limiter le nombre de news à afficher

Résolu/Fermé
yohanimusha Messages postés 60 Date d'inscription lundi 27 août 2007 Statut Membre Dernière intervention 26 juillet 2012 - Modifié par yohanimusha le 14/06/2012 à 09:03
yohanimusha Messages postés 60 Date d'inscription lundi 27 août 2007 Statut Membre Dernière intervention 26 juillet 2012 - 14 juin 2012 à 10:20
Bonjour,

Actuellement je suis en train de concevoir un site internet, je possède un script de News en PhP qui fonctionne à merveille le seul soucis c'est que sur le portail de mon site j'ai fais une place limité pour afficher un nombre de news limité (les plus récentes) mais je n'arrive pas limité le nombres de news récupéré dans la DB j'en voudrais en afficher 3 ou 4 mais pour le moment je récupère tout :s

Voici le code source:

<?php 
// on se connecte à notre base 
$base = mysql_connect ('serveur', 'login', 'password'); 
mysql_select_db('nom_base', $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) 
$sql = 'SELECT auteur, titre, date, texte_news FROM news ORDER BY date DESC;'; 

// 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 , '<br /><br />'; 
  echo 'News : ' , nl2br(htmlentities(trim($data['texte_news']))) , '<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 (); 
?>  


Quelqu'un serait en mesure de m'aider s'il vous plait? je débute en php, je ne demande pas non plus de me mâcher tout le travail car sinon je n'y arriverais jamais mais de bien vouloir me lancer sur une piste ou me fournir la doc approprié car je ne connais pas le nom de la requête à effectuer :s

Merci d'avance !! :)



2 réponses

Melooo Messages postés 1405 Date d'inscription vendredi 28 novembre 2008 Statut Membre Dernière intervention 18 mars 2013 84
14 juin 2012 à 09:03
Salut,
Il faut que tu utilises LIMIT dans ta requête
'SELECT auteur, titre, date, texte_news FROM news ORDER BY date DESC LIMIT 3';
4
yohanimusha Messages postés 60 Date d'inscription lundi 27 août 2007 Statut Membre Dernière intervention 26 juillet 2012 1
14 juin 2012 à 10:20
Un grand merci à toi Melooo!!! :)

Je tag en résolu!
0