Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Выборка последних N данных
 
 автор: SNS   (03.10.2005 в 18:51)   письмо автору
 
 

Подскажите, как реализовать запрос, чтобы выводилось N-ное количество последних вводимых данных?

   
 
 автор: Евгений Петров   (03.10.2005 в 19:02)   письмо автору
 
   для: SNS   (03.10.2005 в 18:51)
 

Где то я здесь уже об этом спрашивал. Но тему мне лень искать поэтому буду вспоминать по памяти:
Вообще для того чтобы код работал в таблице обязательно должнj быть поле id (auto_increment)
SELECT * FROM tbl ORDER BY id DESC LIMIT 30

Запрос выведет 30 последних записей записей, правда в обратном порядке, но это можно легко поправить двумя способами:
1) Плохой способ: отсортировать при помощи php по полю id
2) Хороший способ. Просто пустить цикл в обратном порядке:
<?
  $query 
mysql_query("SELECT * FROM tbl ORDER BY id DESC LIMIT 30");  
  for(
$i=mysql_num_rows($query)-1;$i>=0;$i--)
  {
    echo 
mysql_result($query,$i,'id');
  }
?>

Примерно так.

   
 
 автор: Loki   (03.10.2005 в 19:31)   письмо автору
 
   для: Евгений Петров   (03.10.2005 в 19:02)
 

Или сделать поле с датой записи.

   
 
 автор: Евгений Петров   (03.10.2005 в 20:16)   письмо автору
 
   для: Loki   (03.10.2005 в 19:31)
 

Я бы предпочел все же поле id auto_increment т.к. и быстрее будет выборка осуществляться и места меньше занимать, хотя как вариант поле с датой не исключаю

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования