Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1236 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Récupérer les dernières lignes d'une table (et non les premières)

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Récupérer les dernières lignes d'une table (et non les premières)

n°1508439
arkansnet
Posté le 29-01-2007 à 23:17:38  profilanswer
 

Salut à tous !
Voilà j'ai fait un code pour une publication de news sur mon site (insérées dans ma table sql par un autre script), et je voudrais récupérer les 3 dernières (car ajoutées en dernier), et ainsi qu'en premier s'affiche la plus récente, en 2e celle publiée juste avant, etc.
Voici mon script (je débute en php)

Code :
  1. <?
  2. //fichier créant la connexion à MySQL
  3. include('connection/connect.php');
  4. $query1 = 'SELECT lien, titre, contenu, date FROM nouvelles_';
  5. $result1 = mysql_query($query1);
  6. // on affiche les 3 dernieres news
  7. for ($i = 0; $i < 3 ; $i++) {
  8.    @$row = mysql_fetch_array($result1);
  9.    $titre   = $row["titre"];
  10.    $lien   = $row["lien"];
  11.    $description          = $row["contenu"];
  12.    $pubDate   = $row["date"];
  13. echo <<<END
  14.  <p><a href="$lien">$titre</a>
  15.   :
  16.  $description ($pubdate)
  17.  </p>
  18. END;
  19. }
  20. mysql_close();
  21. ?>


 
Le problème c'est que là je récupère les 3 dernières en date. Serait-il possible de récupérer les plus récemment ajoutées ? Merci pour votre aide.

mood
Publicité
Posté le 29-01-2007 à 23:17:38  profilanswer
 

n°1508440
Beegee
Posté le 29-01-2007 à 23:39:21  profilanswer
 

Dans une table, il n'y a pas de notion d'ordre d'insertion.
Si tu veux capturer cette information, il faut la stoquer comme un champ de la table (date_insertion par exemple).
 
Et alors tout devient plus simple :)
 
SELECT lien, titre, contenu, date
FROM nouvelles_
ORDER BY date_insertion DESC
LIMIT 3;

n°1508443
dwogsi
Défaillance cérébrale...
Posté le 29-01-2007 à 23:58:08  profilanswer
 

+1 pour le LIMIT. Parce que prendre tout les enregistrement pour n'en utiliser que trois c'est moyen...
 
Sinon le champ date qu'il a déjà doit suffir. Faut voir à quoi il correspond mais ya de forte chance pour que ce soit la date d'insertion.

n°1508444
arkansnet
Posté le 30-01-2007 à 00:11:50  profilanswer
 

dwogsi a écrit :

+1 pour le LIMIT. Parce que prendre tout les enregistrement pour n'en utiliser que trois c'est moyen...
 
Sinon le champ date qu'il a déjà doit suffir. Faut voir à quoi il correspond mais ya de forte chance pour que ce soit la date d'insertion.


 
Merci à tous !
La date actuelle est sous le format Sat, 27 Jan 2007 19:04:49 (car la base sert aussi pour mon flux RSS). Il faut que je garde ce format où que je rajoute un champ dans ma base ?

n°1508447
dwogsi
Défaillance cérébrale...
Posté le 30-01-2007 à 00:39:01  profilanswer
 

Je dirais plutôt un format genre datetime, adapté pour le ORDER et facilement formatable pour la sortie vers ton flux (cf DATE_FORMAT par exemple).


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Récupérer les dernières lignes d'une table (et non les premières)

 

Sujets relatifs
Proteger une ligne d'une table contre la suppression(mysql)Récuperer le chemin d'une image d'une PictureBox
Table des erreurs de type GetLastError()[Excel] Comment rassembler des series temp dans une table
Récupérer le résultat d'une fonction javascript dans variable phpRécupérer la console sous Visual Studio
Recherche multiple dans des tables de CSVUn Javascript pour changer l'ordre des TD dans un TABLE
Table d'association et HibernateRécupérer la date et l'heure du système en javascript
Plus de sujets relatifs à : Récupérer les dernières lignes d'une table (et non les premières)


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR