2012-04-13 5 views
0

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

mysql_query("SELECT * FROM table WHERE conditions LIMIT $page*$items, $items"); 

Должен ли я сделать запрос без оговорки предела, чтобы получить общее число, или есть способ лучше? Благодаря!

ответ

4
SELECT COUNT (*) FROM table WHERE conditions 
+0

Это лучше, чем использование SQL_CALC_FOUND_ROWS? – user1222728

+0

Должно быть эквивалентно – hkf

+0

Спасибо, я попробую! – user1222728

3
SELECT COUNT(*) 
    FROM table 
    WHERE conditions 
2

Я вижу, вы используете PHP. Как только вы запустили запрос, почему вы не используете mysql_num_rows в PHP? Таким образом вам не нужно будет запускать два запроса.

+1

Я тоже это одобряю, не видел тег php. – hkf

+1

Будет ли это работать с лимитом? – user1222728

+0

Да, это будет. Но вам легче, если вы проверите это самостоятельно, не спрашивая здесь: –

0
$page_count=10 // no of rows per page 
$record=mysql_query("select count(*) from table where conditions"); 
$row=mysql_fetch_row[0]; 

$no_of_pages = ceil($row/$page_count);