2012-06-02 2 views
-2
+----+ 
| id | 
+----+ 
| 1 | 
+----+ 
| 2 | 
+----+ 
| 3 | 
+----+ 
| 4 | 
+----+ 
+----+ 
| 5 | 
+----+ 

Как показать записи с определенного идентификатора, чтобы список отображал 2,3,4,5 или 3,4,5?MySQL: как показать записи с определенного ID

Я решил сделать с двумя запросами в UNION, но в итоге покажу 2,1,3,4,5 или 2,5,4,3,1.

+2

Что случилось с 'SELECT из таблицы, где id в (2,3,4,5)'? : o –

ответ

2

Может

$sql = "SELECT * FROM table WHERE id >= $curID ORDER BY id ASC LIMIT 4"; 

Если вы хотите, чтобы указать, сколько записей, чтобы найти, вы можете использовать:

$sql = "SELECT * FROM table WHERE id >= $curID ORDER BY id ASC LIMIT $number"; 

Be убедитесь, что вы дезинфицируете входные данные, прежде чем подключать их к запросу. См. Это сообщение для получения дополнительной информации: What's the best method for sanitizing user input with PHP?

+0

WoW Джаред, похоже, выполнит эту работу. Я попробую и дам вам знать. Вы, ребята, Рок !!! – Hashmi

4

вы имели в виду

SELECT * FROM table WHERE id IN (2,3,4,5) 

SELECT * FROM table WHERE id >= $id ORDER BY id ASC LIMIT 4 

Во втором запросе $ ид является ввод от пользователя. Кроме того, вместо LIMIT 4, вы можете иметь 4 приняты в качестве входных данных пользователя

+0

Точно, но я хочу сделать это с помощью «Limit», потому что исходный id в моем случае будет динамическим, хранящимся в переменной, скажем $ curID? – Hashmi

+0

Скажем, если в БД есть 100 идентификаторов, а зритель выбирает номер 96, как бы я показал 4 записи из 96? – Hashmi

+0

Вы говорите о 4 колонках, содержащихся в строке 96? Затем вы хотите «SELECT col1, col2, col3, col4». Если это не решение вашей проблемы, вам нужно будет предоставить гораздо больше информации и почти всю разбивку вашей схемы таблиц. – mawburn

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