0

MYSQL データベースからチケットを取得してユーザーに表示するテーブルがあります。この部分は素晴らしく機能します!しかし、ユーザーが 5 ~ 10 件のチケットを取得すると、ページが長くなり、見苦しくなります。5応答を自動的にページ付けして、ページごとにチケットを表示し、残りを次のページに表示したいと考えています。

私は Bootstrap を使用しており、ページネーションの表示には次のものがあります。「これは疑似コードにすぎないと思いますが」各主要要素に id を追加しました。

<ul class="pager" id="pagerUL">
    <li class="previous" id="previousUL">
        <a href="#">&larr; Previous</a>
    </li>
    <li class="next" id="nextUL">
        <a href="#">Next &rarr;</a>
    </li>
</ul>

基本的に、ページ上のデータベース情報をプルするために使用される唯一のコードは次のとおりです。

<?php if(count($tickets) > 0) : ?>
     <?php foreach ($tickets as $ticket): ?>
        //table content 
     <?php endforeach ?>
<?php else : ?>
     <tr>
         <td colspan="7">No Tickets Created.</td>
     </tr>  
<?php endif; ?>

に何かを追加できると思っていましたが<?php if(count($tickets) > 0) : ?>、正直なところ、私はphpの専門家ではなく、今までページネーションを構築しようとしたことも、その必要性もなかったので、確信が持てません. ヘルプ、ガイダンス、考えをいただければ幸いです。

4

1 に答える 1

1

URL を介してページ番号を渡し、$_GET を使用して php 経由で取得します。

 $page = $_GET['page'];
 $per_page = 10; // Define it as you please
 $start = $page*$per_page;

 $query = "SELECT * FROM table LIMIT ".$start.", ".$per_page;
 $result = mysql_query($query);
 $count = mysql_num_rows($result); 
 $i = 0;

 for($i=0;$i<$count;$i++)
 {
    //echo out what you want
    echo "";
 }

 $total_pages = ceil($count/$per_page);

 for($i=0;$i<$total_pages;$i++)
 {
    if($page != $i)
    {
       echo "<a href='/page.php?page=".$i."'>".$i."</a>";
    } else
    {
       echo $i;
    }
 }
于 2013-06-19T05:09:05.853 に答える