如何在不同的页面中显示sql查询?

时间:2011-03-08 09:11:58

标签: php mysql html

如何在不同的页面中显示sql查询?(使用php) 比如点击链接1时会出现1-10 .. 对于2它是11-20等等..

4 个答案:

答案 0 :(得分:0)

如果你看起来像:

  • page1.php?show = 10(1-10)
  • page1.php?show = 20(11-20)

您必须进行一些计算(最大页数,结果集的开始和结束),然后在使用mysql时使用LIMIT子句。

答案 1 :(得分:0)

“最简单”方法是将LIMIT子句添加到查询中并传入页码。 所以如果页码是1(即默认页面或第一页)

$page = 1;
$query = "SELECT * FROM Product WHERE name LIKE 'John%' LIMIT ";

if($page == 1){

   $query .= $recordsPerPage;

}

else{

   $query .= ($recordsPerPage+1) ."," ($page-1 + $recordsPerPage);

}

您需要执行单独的查询以获取匹配记录的数量,并将其除以每页的记录。

对于流量不高的网站而言,这只是一种可接受的方法。 高流量网站你可能不得不使用游标。

答案 2 :(得分:0)

正如阿里所说,最简单的方法是限制你的查询,并根据数据库中的总数建立页数。

你可能会发现这个有用的

http://www.phpeasystep.com/phptu/29.html

答案 3 :(得分:0)

我建议查看MySQL的LIMITOFFSET

一个简单的例子:

// parameters
$ipp = 10; # items per page
$page = $_GET['page']; # lets fetch page from clicked link
if(!$page){ $page = 1; } # default page to be used when none is given (to be used when we're at index.php
$offset = ($page - 1) * $ipp; # lets calculate result offset for current page

// query
$sql = "SELECT * FROM `table` LIMIT {$ipp} OFFSET {$offset};";
// add your desired result processing

此示例的链接非常简单:index.php?page=1index.php?page=2等。