Создание счетчиков из постраничных результатов поиска ...? - PullRequest
0 голосов
/ 23 марта 2010

Я создаю панели поиска в стиле eBay, которые позволяют пользователям сузить свои результаты по определенным критериям. Например:

Метки

Литература (8) Художественная литература (4) Английский (4) Американец (3) Нехудожественная литература (2)

Количество результатов с таким свойством указывается в скобках. Первоначально я построил счетчики, поместив этот код в цикл результатов отображения:

if(isset($tags[$row['tags']])) {
    $tags[$row['tags']]++;
} else {
$tags[$row['tags']] = 1;
}

Затем я разбил на страницы свои результаты, и они перестали работать - запрос возвращает только достаточно данных для страницы, на которой вы находитесь, поэтому счетчики представляют результаты только на этой странице.

Может кто-нибудь предложить другой подход?

Ответы [ 2 ]

0 голосов
/ 23 марта 2010
SELECT COUNT(*) FROM books WHERE tagid=$tagid

Однако для этого потребуется другой запрос. Пожалуйста, предоставьте больше информации о ваших методах нумерации страниц.

0 голосов
/ 23 марта 2010

Вам нужно будет выполнить второй запрос для tag, COUNT(*) in <table> GROUP BY tag, чтобы получить общее число для каждого тега.

редактирование:

Проверьте это . Это новый для меня, но выглядит так, как вы хотите.

Начните ваш запрос с SELECT SQL_CALC_FOUND_ROWS, затем выполните запрос с SELECT FOUND_ROWS();

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...