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 传递页码,然后通过 php 使用 $_GET 获取它。

 $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 回答