Допустим, у меня есть база данных:
+----------+ | Database | +----------+ | id | | image | | category | +----------+
Теперь у меня есть страница с изображением из базы данных, я хочу добавить
<< Предыдущее изображение
а также
Следующее изображение >>
кнопка. Я мог бы просто взять $ 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>
?
Вам нужно будет использовать другой выбор:
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;
Как поясняется в этом ответе , вы можете использовать запрос подзапроса для получения идентификатора предыдущей и следующей записей:
... WHERE id IN ( '$id', (SELECT MAX(id) FROM yourTable WHERE id < '$id'), (SELECT MIN(id) FROM yourTable WHERE id > '$id') ) ...