Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Запрос в БД
Форумы портала PHP.SU » » Вопросы новичков » Запрос в БД

Страниц (1): [1]
 

1. antobra - 24 Мая, 2012 - 20:36:25 - перейти к сообщению
Здравствуйте.

Скажите, можно ли в одном запросе к базе сделать запрос на поиск совпадений и посчитать количество найденного.

У меня сейчас происходит два запроса:
PHP:
скопировать код в буфер обмена
  1.  
  2. pg_query(SELECT count(*) FROM base WHERE name ILIKE '%word%');
  3. pg_query(SELECT id, name FROM base WHERE name ILIKE '%word%');
  4.  


Два запроса сильно нагружают сайт. Как-то можно упростить?

Сразу скажу, что кол-во нужно знать для навигации по страницам результатов и т.п.
2. Мелкий - 24 Мая, 2012 - 20:48:24 - перейти к сообщению
pg_num_rows
Поищите ещё аналоги mysql'ного SQL_CALC_FOUND_ROWS, раньше вроде не было, может в актуальных версиях появился.
3. antobra - 24 Мая, 2012 - 20:53:45 - перейти к сообщению
Мелкий
num_rows, как я помню, не правильно работает, если есть OFFSET LIMIT. Точнее правильно, просто показывает значение LIMIT

 

Powered by ExBB FM 1.0 RC1