Forum Webscript.Ru
Общие => Базы данных => Тема начата: Phoinix от 01 Августа 2003, 14:12:03
-
У меня есть запрос:
$sql = "SELECT
price.price_id,
price.goods,
price.price,
goods.name,
subcategory.name
FROM
price, goods, subcategory
WHERE
goods.goods_id = price.goods AND
goods.subcategory = \'$subcat\' AND
subcategory.subcategory_id = \'$subcat\'
ORDER BY
goods.name ASC
LIMIT $start_number, $end_number
";
В котором я ограничиваю количество записей LIMIT для постраничного вывода, но мне требуется получить и количество страниц, т.е. общее количество записей запроса... Как правильней сделать?
1) Сделать посторный запрос без LIMIT и получить количество записей?
2) Делать сразу запрос без LIMIT - получить количество записей, а полученные записи лимитрировать уже не средствами SQL запросов?
Или есть какой-либо другой вариант?
-
select count(*) from...
-
For MySQL>4.0
http://www.mysql.com/doc/ru/Miscellaneous_functions.html#IDX1334
-
А вообще, для "стандартного" 3.23 - лучше Ваш первый вариант
-
Дмитрий Попов
MySQL у меня "стандартный", поэтому огород городить не будем пойдем по первому варианту...
-
ты знаеш, я бы поступал не так.
у меня в поисковой системе автомобилей я даю пользоварелю максимальное ограничение 500 строк в результирующем наборе,
врезультате все умещается в 1 запрс: выбираю по лимиту 501, если больше или = то лимит превышен - дулю, а если нет - то посчитываю mysql_num_rows().
логично ведь, что пользователю ненадо давать выбирать 1.000.000 строк, даже если они есть, тем более в параметрах настройки сервера есть четко зафиксированное МАХ количество возврашаемых запросом строкклиенту, так почемубы и не подкорректировать эту цифру програмно???
Подумай - хорошая идея, не люблю много запросов.