PHP / SQL создает ссылки на следующую строку в базе данных - PullRequest
0 голосов
/ 01 сентября 2011

Допустим, у меня есть база данных:

+----------+
| Database |
+----------+
| id       |
| image    |
| category |
+----------+

Теперь у меня есть страница, которая показывает изображение из базы данных, я хочу добавить

<< Предыдущее изображение </p>

и

Следующее изображение >>

кнопка. Я мог бы просто взять $ id и добавить +1, но что если следующий идентификатор не существует в БД?

Любая помощь приветствуется, спасибо

Итак, я нашел это:

SELECT * 
  FROM database AS c 
 WHERE (id = (SELECT MAX(id) FROM database WHERE id < c.id AND language = 'en')
    OR  id = (SELECT MIN(id) FROM database WHERE id > c.id AND language = 'en'))

Но как мне сделать из него ссылку, например: <a href="domain.com/$c ??">Next</a>?

Ответы [ 2 ]

0 голосов
/ 01 сентября 2011

Как объяснено в в этом ответе , вы можете использовать запрос на выборку для получения идентификатора предыдущей и следующей записей:

...
WHERE id IN (
  '$id',
  (SELECT MAX(id) FROM yourTable WHERE id < '$id'),
  (SELECT MIN(id) FROM yourTable WHERE id > '$id')
)
... 
0 голосов
/ 01 сентября 2011

Вы должны будете использовать другой выбор:

SELECT
    ( SELECT ID FROM <TABLE-NAME> WHERE ID > $currentID ORDER BY ID ASC LIMIT 1 )
    AS NEXT_VALUE,
    ( SELECT ID FROM <TABLE-NAME> WHERE ID < $currentID ORDER BY ID ASC LIMIT 1 )
    AS PREV_VALUE
FROM DUAL;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...