Предыдущий и следующий элемент в базе данных (prev/next)

Часто для перелинковки требуется...

 

Предыдущий и следующий элемент в базе данных (prev/next). Например, для id100 это id99 и  id101

Есть несколько способов:

 

1 способ

следующий элемент :

SELECT *
    FROM `my_table`
    WHERE id = (SELECT (id)
        FROM my_table
        WHERE position = ($position+1))
            LIMIT 1

 


Предыдущий элемент:

SELECT *
    FROM my_table
    WHERE id = (SELECT (id)
        FROM my_table
        WHERE `position` = ($position-1))
            LIMIT 1

 

 

2 способ:

 

Следующий элемент:

SELECT * FROM foo WHERE id > 100 ORDER BY id LIMIT 1;

 

Предыдущий элемент:

SELECT * FROM foo WHERE id < 100 ORDER BY id DESC LIMIT 1;

 

 

 

 

 

 

Добавить комментарий


Защитный код
Обновить

Вы здесь: Сайтостроение Создание сайта MySQL Предыдущий и следующий элемент в базе данных (prev/next)