Автор Тема: Получение количества записей запроса...  (Прочитано 4091 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Phoinix

  • RW
  • Ветеран
  • *****
  • Сообщений: 1097
  • +0/-0
  • 2
    • Просмотр профиля
    • http://phoinix.ucoz.ru
У меня есть запрос:

  $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 запросов?

Или есть какой-либо другой вариант?
« Последнее редактирование: 01 Августа 2003, 14:17:28 от Phoinix »

Оффлайн Chs

  • Perl программер
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1108
  • +0/-0
  • 2
    • Просмотр профиля
    • http://chs.now.at/
Получение количества записей запроса...
« Ответ #1 : 01 Августа 2003, 14:35:55 »
select count(*) from...
2B OR NOT 2B = FF

Оффлайн Дмитрий Попов

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 264
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.programmist.spb.ru
 За Родину! За Россию!
SendMail для любого хостинга.

Оффлайн Дмитрий Попов

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 264
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.programmist.spb.ru
Получение количества записей запроса...
« Ответ #3 : 01 Августа 2003, 14:39:51 »
А вообще, для "стандартного" 3.23 - лучше Ваш первый вариант
 За Родину! За Россию!
SendMail для любого хостинга.

Оффлайн Phoinix

  • RW
  • Ветеран
  • *****
  • Сообщений: 1097
  • +0/-0
  • 2
    • Просмотр профиля
    • http://phoinix.ucoz.ru
Получение количества записей запроса...
« Ответ #4 : 01 Августа 2003, 15:15:07 »
Дмитрий Попов
MySQL у меня "стандартный", поэтому огород городить не будем пойдем по первому варианту...

Оффлайн alex_24

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 9
  • +0/-0
  • 0
    • Просмотр профиля
    • http://forum.webcommand.ru
Получение количества записей запроса...
« Ответ #5 : 03 Сентября 2003, 01:02:03 »
ты знаеш, я бы поступал не так.
у меня в поисковой системе автомобилей я даю пользоварелю максимальное ограничение 500 строк в результирующем наборе,
врезультате все умещается в 1 запрс: выбираю по лимиту 501, если больше или = то лимит превышен - дулю, а если нет - то посчитываю mysql_num_rows().
логично ведь, что пользователю ненадо давать выбирать 1.000.000 строк, даже если они есть, тем более в параметрах настройки сервера есть четко зафиксированное МАХ количество возврашаемых запросом строкклиенту, так почемубы и не подкорректировать эту цифру програмно???
Подумай - хорошая идея, не люблю много запросов.

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28