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>
这样就可以实现分页查询,并且可以根据自己想要显示的内容选择分页内容,具体上面都有提示,只需要在最后一个php显示中添加分页class中html的索引值,即可。
分页查询 学习要求很简单,你不需要知道分页里面的每条语句是怎样写出来的,你只要知道每条语句是什么作用就可以了,千万不要浪费太多时间研究它是如何写成的,这不是重点,我们只要知道怎么应用就好了,一定要知道每条语句的用法和含义,能够准确应用这些分页工具就好了。以后多积累这样的工具,提高工作效率。