2010-04-05 3 views
6

Мы используем jquery для разбивки на страницы. Мы вытаскиваем миллионы записей из базы данных, а затем jquery делает разбивку на страницы на передней панели. это очень медленный процесс. Может ли кто-нибудь посоветовать нам решение в php и jquery, где мы выставляем 50 записей за раз? Спасибоjquery pagination

+3

Какую базу данных вы используете? –

+1

Какой плагин таблицы jQuery вы используете? – webbiedave

+3

Смешно. Миллионы записей отправляются клиенту? Дорогой g-d! –

ответ

3

Да, вы должны использовать Ajax вместо получения все это, попробуйте следующее:

$.get("path/to/page.php", { param1: "myParam1", page: "pagenumber" }, 
    function(data){ 
    $('#datacontainer').html(data); 
}); 

Для получения дополнительной информации о функции $.get прочитать: http://api.jquery.com/jQuery.get/

1

Я использовал jqGrid для приложения ASP.NET MVC, но они делают версию php, которая должна быть хорошей в использовании.

6

Вам действительно нужно/нужно использовать jquery для разбивки на страницы?

На стороне php вы можете исправить номер строки, чтобы начать с (с помощью page_number-1 * number_of_rows_per_page), так что страница 1 начнется с строки 0, стр. 2 в 50. Таким образом, вы получаете только 50 строк за раз ,

jQuery можно затем использовать для стилизации таблицы и отправки запроса ajax сценарию для извлечения определенных строк.

$page_number = $_GET['page']; //Could POST this if u want to keep your urls tidy 
$num_rows_per_page = 50; 
$start_row = ($page_number -1) * $num_rows_per_page; 

//This will get just the specified number of rows 
$sql = "SELECT * from mytable LIMIT $start_row, $num_rows_per_page"