RFpro.ru: Программирование на PHP

  Все выпуски  

RusFAQ.ru: Программирование на PHP


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / PHP

Выпуск № 501
от 28.10.2006, 14:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 379, Экспертов: 52
В номере:Вопросов: 1, Ответов: 2


Вопрос № 59847: Уважаемые, как "выдрать" из базы данных: 1. Последнюю добавленную запись. 2. Запись с наибольшим значением какого-то поля (INT, число). 3. Как выбирать записи с конца? Допустим, последние 10 записей. 4. Случайную запись? Тут...

Вопрос № 59.847
Уважаемые, как "выдрать" из базы данных:
1. Последнюю добавленную запись.
2. Запись с наибольшим значением какого-то поля (INT, число).
3. Как выбирать записи с конца? Допустим, последние 10 записей.
4. Случайную запись? Тут мысль вроде правильная есть, но всё таки?
Отправлен: 23.10.2006, 07:39
Вопрос задал: Бобровский Сергей Сергеевич (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 3)

Отвечает: Козлов А. С.
Здравствуйте, 1!
Код подключения к базе я не привожу.
1. Примените функцию mysql_insert_id():

$id = mysql_insert_id();
$r = mysql_query("SELECT * FROM table WHERE id=$id");
$row = mysql_fetch_array($r);

После выполнения данного кода в переменной $row будет последняя вставленная запись. Но есть две особенности
а) между вызовом mysql_insert_id и mysql_query может произойти вставка новых значений и в таком случае мы не получаем последнюю вставленную запись.
б) в базе данных должно быть автоинкрементное поле id

2. Это решается так:
$query = "SEELCT MAX(имя_поля) FROM table;";
$res = mysql_query($query);

3. Это решается так:
$query = "SELECT * FROM table ORDER BY поле_сортировки DESC LIMIT 0, 10;

Данный запрос выберет 10 записей отсчитываемых с 0 и отсортированные в убывающем порядке по "полю_сортировки".
---------
Вы доставили мне истинное удовольствие парни, взвалив на меня Ваши проблемы (М. Фрай).
Ответ отправил: Козлов А. С. (статус: Студент)
Ответ отправлен: 23.10.2006, 08:05
Оценка за ответ: 5
Комментарий оценки:
1. А каким образом может произойти вставка новых значений, если этии строчки следуют одна за другой?!
2. ок, вопросов нет.
3. А можно сортировать по автоинкрементируемому полю?

Отвечает: Punk_UnDead
Здравствуйте, 1!
а первых почему вопрос в PHP
итак
1 limit -1
2 limit 1 order by
3 limit -10
4 limit n 1 (где n - случайное число от 0 до количества записей)

---------
всё испытано на себе
Ответ отправил: Punk_UnDead (статус: 2-ой класс)
Ответ отправлен: 23.10.2006, 13:12
Оценка за ответ: 5


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.37 от 04.10.2006
Яндекс Rambler's Top100

В избранное