2013-11-21 3 views
0

У меня есть одна строка, я могу выбрать с помощью следующей команды:PHP/MySQL: Получить один ряд, а следующие пять строк

SELECT * FROM uploads WHERE upload_id = $upload_id 

Но я также хочу, чтобы получить 5 следующих строк. Используя PHP, как я могу это сделать? Заказ не имеет значения.

+0

'SELECT * FROM upload WHERE upload_id> = $ upload_ID LIMIT 6', предполагая, что вещи отсортированы естественным образом с помощью upload_id –

+1

, который содержит 5 строк? 5 случайных строк или 5 строк со следующими идентификаторами загрузки? – rolfv1

+3

Как вы можете с одной стороны сказать, что хотите «СЛЕДУЮЩИЕ» пять строк, а затем также сказать: «Заказ не имеет значения». Эти утверждения не джайв. Что вы на самом деле хотите? Есть ли автоинкрементный идентификатор здесь для 'upload_id'? –

ответ

1

Чтобы получить эту запись и следующие 5 восходящих upload_ids:

SELECT * 
FROM uploads 
WHERE upload_id >= $upload_id 
ORDER BY upload_id ASC 
LIMIT 6 
+0

Только то, что мне нужно. Благодарю. – user3008805

+0

@ user3008805 Нет проблем – OGHaza

0

Вы можете попробовать:

select * from uploads where upload_id >= $upload_id order by upload_id asc limit 6; 

Вы также должны действительно избежать использования select * и вместо того, чтобы указать только те поля, которые нужны, даже если это все поля. Таким образом, если схема изменится в будущем, вы не будете возвращать избыточные данные.

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