11月6日下午PHP分页查询(查询结果也显示为分页)

1.先把数据库里所有的数据分页显示在页面,并在显示数据的表格上方加上查询表单。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>

<body>
<br />
<form action="fenyechaxun.php" method="get"><!--分页查询最好使用get,不要使用post,使用post会变得很复杂。-->
    <div>关键字:<input type="text" name="key" />
        <input type="submit" value="查询" />
    </div>
</form>
<br />
<table width="100%" border="1" cellpadding="0" cellspacing="0">
<tr>
    <th>地区代号</th><!--坐标头-->
    <th>地区名称</th>
    <th>上级代号</th>
</tr>
<?php
include("DBDA.class.php");//引入封装类的页面
$db = new DBDA();//造一个对象

//求数据的总条数
$sall = "select count(*) from chinastates";
$total = $db->StrQuery($sall);

include("page.class.php");//引入分页类的页面
$page = new Page($total,20);//造一个分页的对象.第一个参数是数据的总条数,第二个参数是每页显示多少条数据。

$sql = "select * from chinastates ".$page->limit;//调用分页里面的limit方法。
$attr = $db->Query($sql);

foreach($attr as $v)
{
    echo "<tr><td>{$v[0]}</td><td>{$v[1]}</td><td>{$v[2]}</td></tr>";
}

?>
</table>
<?php
echo $page->fpage();//显示表格下方的数据和页面的信息。
?>
</body>
</html>

2.加上条件,实现目标结果。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>

<body>
<br />
<form action="fenyechaxun.php" method="get">
    <div>关键字:<input type="text" name="key" />
        <input type="submit" value="查询" />
    </div>
</form>
<br />
<table width="100%" border="1" cellpadding="0" cellspacing="0">
<tr>
    <th>地区代号</th>
    <th>地区名称</th>
    <th>上级代号</th>
</tr>
<?php
include("DBDA.class.php");
$db = new DBDA();

//查询条件
$tj1 = " 1=1 ";
if(!empty($_GET["key"]))//获取提交的关键字
{
    $tj1 = " areaname like '%{$_GET['key']}%'";
}


$sall = "select count(*) from chinastates where {$tj1}";//把条件拼接到语句中
$total = $db->StrQuery($sall);

include("page.class.php");
$page = new Page($total,20);

$sql = "select * from chinastates where {$tj1} ".$page->limit;//这里也要加上搜索条件
$attr = $db->Query($sql);

foreach($attr as $v)
{
    echo "<tr><td>{$v[0]}</td><td>{$v[1]}</td><td>{$v[2]}</td></tr>";
}

?>
</table>
<?php
echo $page->fpage();
?>
</body>

</html>

 

posted @ 2016-11-07 10:13  飘逸De精灵  阅读(297)  评论(0编辑  收藏  举报