如何使用html创建可分页网格

时间:2011-11-14 01:50:02

标签: php mysql html-table

我正在使用PHP从mysql数据库中提取一些数据,现在我想将这些数据放在我已经完成的html表中,如果超过10条记录,我怎样才能使表可分页?是否有我可以查看的教程或任何可以获得此信息的信息?也许我可以轻松实现一个工具?我只是没有在网上找到关于这个话题的任何内容,但也许这里的任何人都可以引导我走向正确的方向

我目前只使用简单的<table></table> html

2 个答案:

答案 0 :(得分:2)

您可以使用MySQL的LIMIT关键字实现分页。 然后,您可以使用查询字符串告诉网站要获取哪个页面。

首先,我们需要设置默认页码并定义我们想要在页面中显示的结果数量:

$items_per_page = 10;

$page = 1;

if(isset($_GET['page'])) {
    $page = (int)$_GET['page'];
}

LIMIT关键字的工作原理是提供偏移量和要限制的行数。所以现在我们需要找出偏移量:

$offset = ($page - 1) * $items_per_page;

现在我们拥有根据查询字符串中的页码正确限制结果所需的所有信息:

$query = "SELECT column_1, column_2 FROM your_table LIMIT {$offset}, {$items_per_page};";
$result = mysql_query($query) or die('Error, query failed');

while($row = mysql_fetch_assoc($result)) {
   echo $row['column_1'] . '<br />';
}

现在,为了显示您的不同页面,您只需将查询字符串添加到页面URI的末尾。

例如my_page.php?page=1my_page.php?page=2

也许你可以试着弄清楚如何自己创建分页链接,如果你不能让它工作,可以发布更多。

你只需要在MySQL中用COUNT查找查询中的总行数,然后就可以从那里完成所有数学运算;)

答案 1 :(得分:0)

你需要一些javascript才能进行分页..

查看http://flexigrid.info/

总之,您应该做的是让您的php脚本将表格数据作为JSON或XML返回,然后将其提供给flexgrid。

您还可以在需要时使用其他请求获得flexgrid请求记录。