2014-01-06 23 views
1

У меня есть таблица, я получаю автомобили формируют базы данных и я перечислить его в этой таблице:Получить N значение из базы данных MySQL

$row_id=$_GET["id"]; 
$solK = ($row_id-1) * 9; 
$sagK = ($row_id) * 9; 
$sorgu2 = mysql_query("SELECT * FROM Car WHERE Car_ID > '$solK' AND Car_ID < '$sagK'"); 

Каждая страница имеет 9 автомобилей я использовать идентификатор вида этих машин, но когда я удаляю автомобиль (например, Carid = 5) на первой странице имеет 8 автомобилей, но на других страницах есть 9 автомобилей, как я могу получить первые N значений без CarId из баз данных, вы можете объяснить с помощью sql-кодов.

ответ

4

Добавьте к вашему запросу LIMIT.

Например

SELECT * FROM tbl LIMIT 0, 9 

отберет первые 9 записей из tbl.

Для того, чтобы соответствовать вашему запросу и сохранить порядок, я бы заявить как

SELECT * FROM Car ORDER BY Car_ID LIMIT 0, 9 

в течение первых девяти строк. Для следующих девяти строк просто увеличивайте оба числа на 10 и так далее.

+1

Использование любого из предоставленных ответов, которые вы могли бы еще 'ORDER BY Car_ID' для поддержания вашего заказа – Dale

2

Вместо кода это, как вы сделали, просто использовать LIMIT:

SELECT * FROM Car LIMIT 0,9 

затем

SELECT * FROM Car LIMIT 9,9 
0

я предполагаю, другие ответы (используя ограничение и смещение) будет подходит для вашего случая. Но если вы (или кто-либо другой) когда-либо необходимо для повышения производительности, и нужно управлять быстрых запросов более чем на первых страницах, вы должны выполнять подкачку так:

SELECT f1, f2, ... 
    FROM tbl 
     WHERE Car_ID > $id 
    ORDER BY Car_ID 
    LIMIT 10 
0

Использование «LIMIT смещение, row_count» в вы заявление

Попробуйте SQL заявление SELECT * FROM Car LIMIT '$pageN*$nperpage', '$nperpage'

Где $nperpage будет количество элементов на странице и $pageN будет номер страницы (обратите внимание, что в этом случае нумерация страниц начинается с 0).

http://dev.mysql.com/doc/refman/5.0/en/select.html

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