2012-02-06 2 views
0

У меня есть 300 строк (данные) каждая страница содержит 10 записей, мне нужно первые 10 страниц, то нажмите кнопку Далее затем отобразить следующий 10 страница здесь мой код:Как установить пейджинг в PHP?

<?php 


$eu = ($start - 0); 
$limit = 10; 
$this1 = $eu + $limit; 
$back = $eu - $limit; 
$next = $eu + $limit; 


if ($nume > $limit) 
{ 
    echo'<div class="pagination right">'; 
    if ($back >= 0) 
    { 
     echo"<a href='$page_name?start=$back&o" . $_SESSION['clicked'] . "&p=$desc'>&laquo;</a>"; 
    } 

    $i = 0; 
    $l = 1; 
    for ($i = 0; $i < $nume; $i = $i + $limit) 
    { 
     if ($i <> $eu) 
     { 
      echo"<a href='$page_name?start=$i&o=" . $_SESSION['clicked'] . "&p=$desc'>$l</a>"; 
     } 
     else 
     { 
      echo "<a class='active'>$l</a>"; 
     } 
     $l = $l + 1; 
    } 

    if ($this1 < $nume) 
    { 
     echo "<a href='$page_name?start=$next&o=" . $_SESSION['clicked'] . "&p=$desc'>&raquo;</a>"; 
    } 

    echo '</div>'; 
} 
echo '</div></div>'; 

?> 

Тогда я получу ответ, как этот http://app.ologie.us/app/admin/Screen.png

Может ли кто-нибудь обратиться к эффективному поисковому вызову в PHP.

ответ

1

Вот учебник по базовой разбивке на страницы.

http://www.phpfreaks.com/tutorial/basic-pagination

+1

Ссылка на внешние веб-сайты невелика, попробуйте указать конкретный ответ, если это возможно. – Zar

+0

Итак, вместо того, чтобы дать ссылку на очень подробный ответ, вы предпочтете, чтобы я поставил один и тот же ответ в 1/8 символов. Я не нахожу ничего плохого в том, что я сделал, если вам не нравится его голосовать, но я дал ему тот ресурс, который ему нужно было узнать, как делать то, что он просил. – thenetimp

+0

Я не нахожу в этом ничего плохого, но более короткое резюме ALONG со ссылкой было бы предпочтительнее, по крайней мере, если вы спросите меня :-). Голосование не нужно, просто написано мои мысли. – Zar

0

Вы делаете все это на стороне клиента с плагином DataTables для jQuery. Этот плагин также дает вам больше возможностей, таких как сортировка и поиск.

http://datatables.net/

Если у вас есть очень большой стол, это, вероятно, не является хорошей идеей, хотя.

1

Делая это, как Тим сказал, это, по моему мнению, в основном плохой способ сделать это. Читайте в данных, необходимых, КОГДА это необходимо. Вы можете сделать это с индексом min-max для вашего массива. Рассмотрим вы хотите отобразить 10 записей на странице:

$min = $page * 10; //Page is the current page 
$max = $min + 10; 

Тогда вы просто Переберите данных между мин - макс индексов.

for($i = $min; $i < $max; $i++) { 
    //Echo your data like normal 
} 

Если вы сбора данных из MySQL, вы можете захотеть взглянуть на LIMIT.

1

Если $limit вашего размера страницы и добавить еще одну переменный запрос $page - представляющей страницу результатов поиска по запросу пользователя - вы можете использовать

$start = ($page-1)*$limit; 
for($i=$start;$i < $start + $limit;$i=$i+1) { 
    ... 
} 

перебрать «страницу» результатов.

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

Кроме того, я бы предпочел использовать фреймворк PHP, а не кодировать его так, как вы представляете в своем запросе. Скорее всего, ваше приложение будет сложно поддерживать.

+0

привет, я проверяю ваш код, но не работаю для меня, можете ли вы ясно объяснить –

+0

i edit my question –

Смежные вопросы