2014-09-29 2 views
1

Что я хочу знать, есть ли какой-либо способ в SQL-запросе, где я мог бы найти, есть ли какой-либо идентификатор выше или рядом с текущим ID? Вот эскиз SQL запросов в более programatic образом:Найти, если рядом с этим идентификатором имеется идентификатор?

Допустим, у меня есть 5 image attachments в посте, я нажал на number 3, чтобы открыть ему окно PopUp и теперь хотят знать, есть ли какой-либо другой aid доступны, так что Я могу показать кнопку NEXT?

$current_aid = '3'; 
$pid = '313'; // Thats fixed value of post 

$query = $db->query(" 
    SELECT aid 
    FROM attachments 
    WHERE aid != '{$current_aid}' AND pid = '{$pid}' 
    ORDER BY aid DESC 
"); 

Как его найти?

+0

Я рекомендую вам посмотреть в использовании ORM или Active Record или сделать работу с базой данных более приятным. http://www.doctrine-project.org/ || https://github.com/illuminate/database || http://propelorm.org/ –

ответ

2

Запрос

SELECT aid FROM attachements WHERE aid > {$current_aid} AND pid = {$pid} ORDER BY aid DESC LIMIT 1; 

Затем поместите вам дополнительную логику запроса здесь.

+0

Спасибо Томас, он работает. – user2854563

1

Вы можете попробовать этот запрос, чтобы получить следующий и предыдущий ссылку

SELECT 
(SELECT aid FROM attachments WHERE aid > '{$current_aid}' AND pid = '{$pid}' LIMIT 1) 
AS next_link, 
(SELECT aid FROM attachments WHERE aid < '{$current_aid}' AND pid = '{$pid}' ORDER BY aid DESC LIMIT 1) 
AS prev_link FROM attachments 
+0

Спасибо Шарме, хотя я выбрал Томаса как лучший, но я дал вам +1 за то, что нашел время, чтобы ответить на мой вопрос. Еще раз, спасибо – user2854563

Смежные вопросы