分页MySql结果

时间:2013-06-19 05:00:28

标签: php javascript

我有一个表从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的专家,从来没有尝试过,或者直到现在才需要建立分页。任何帮助,指导,想法将不胜感激。

1 个答案:

答案 0 :(得分: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;
    }
 }