Как вытащить из базы данных последовательно

V
На сайте с 16.01.2012
Offline
32
1094

Есть 2 запроса

(mysql_query('select code from s_backlinks ORDER BY id DESC LIMIT 1')); - выводит последнюю запись

(mysql_query('select code from s_backlinks ORDER BY id LIMIT 1')); - выводит первую запись

Нужно сделать третий запрос, который при каждой сессии будет выводит 2 последующие записи, то есть при первой сессии будет выводить вторую и третью запись, при четвертой - четвертую и пятую запись и так далее.

edka
На сайте с 17.01.2010
Offline
208
#1

Можно переделать запрос в:

(mysql_query('select id,code from s_backlinks ORDER BY id DESC LIMIT 1'));

И в php прибавлять к id нужное кол-во, а потом делать запрос:

(mysql_query('select code from s_backlinks WHERE id >= (тут id из php) ORDER BY id DESC LIMIT 2'));

Как то так, как вариант ))

TU
На сайте с 06.03.2009
Offline
43
#2
Vdmoze:
Есть 2 запроса

(mysql_query('select code from s_backlinks ORDER BY id DESC LIMIT 1')); - выводит последнюю запись
(mysql_query('select code from s_backlinks ORDER BY id LIMIT 1')); - выводит первую запись

Нужно сделать третий запрос, который при каждой сессии будет выводит 2 последующие записи, то есть при первой сессии будет выводить вторую и третью запись, при четвертой - четвертую и пятую запись и так далее.

создайте еще одну таблицу вида

session_id | start

И потом при заходе пользователя проверяйте есть ли его session_id в таблице, если есть, то выбирайте оттуда столбец start и формируйте запрос вида

select code from s_backlinks ORDER BY id LIMIT start, 2

Если же нет, то добавляйте строку в таблицу, в поле start записывайте увеличенное на 2 значение предыдущей строки.

Ну а запрос к БД будет аналогичный.

zend-framework ru community (http://zendframework.ru/forum/)

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий