2016-11-21 7 views
1

Я делаю веб-сервис для приложенияРазбивка: получить общее количество страницы

У меня есть SQL-запрос, который получает данные в постраничной образом.

Я хочу общее количество страниц для данных, которые я получаю.

$limit = 10; // limit of 10 records 
 
    $offset = ($page_number -1) * $limit; // calculate offset 
 

 
$userQuery="SELECT faq_question, faq_answer FROM `faq` WHERE faq_event_id = $event_id 
 
        LIMIT $limit 
 
        OFFSET $offset";

Выше мой запрос.

$ page_number будет параметром, который необходимо передать.

Как я могу получить общее количество страниц для отображения всех данных на основе определенных условий.

Thank you.

+1

'$ total_pages = $ total_records/$ limit' вам просто нужно найти итоговые записи, используя запрос без смещения и ограничения. – RJParikh

ответ

0

Вам необходимо получить счет всех записей, а затем применить расчет по этому вопросу.

count(total_records)/total_records_per_page

это даст вам общее количество страниц, которые вы хотите получить

+0

let say У меня есть 40 записей, которые я получаю от '$ number = mysqli_num_rows ($ result)', и у меня есть $ limit of 10, поэтому я получаю 4 страницы, используя уравнение как '$ total_page = $ number/$ limit;' я делаю правильно? –

+0

@Rishi Да, вы правы. – KinjalMistry

+0

хорошо ... спасибо .. :) –

2
// I guess you use mysqli 
// use another query without limitation 
$result = $mysqli->query("SELECT faq_question, faq_answer FROM `faq` WHERE faq_event_id = $event_id"); 

// total row count 
$row_cnt = $result->num_rows; 

// total pages 
$pages = ceil($row_cnt/$limit); 

То, что я сделал здесь, сначала вычислить общее количество строк в базе данных, то я разделил общее количество строк с использованием лимита. Я использовал ceil для округления значения до. (echo ceil(6.3); // 7 страниц)