PHP 分页+查询
首先是主页面,与上篇分页页面相同
<table width="100%" border="1" cellpadding="0" cellspacing="0"> //建表
<tr> //表头
<td>AreaCode</td>
<td>AreaName</td>
<td>ParentAreaCode</td>
<td>Root</td>
<td>Zone</td>
</tr>
<?php
include("../dbda.class.php"); //引入数据库类
include("../page.class.php"); //引入分页类
$db= new dbda();
$sqlall = "select count(*) from chinastates ".$tj; //写sql语句,并拼上查询条件($tj 会在下面给出)
$attrall = $db->Query($sqlall);
$total = $attrall[0][0];
$page = new Page($total,20,$fytj,true);
$limit = $page->limit;
$sql = "select * from chinastates ".$tj.$limit; ////写sql语句,并拼上查询条件($tj 会在下面给出)
$attr = $db->Query($sql);
foreach($attr as $v)
{
echo "<tr>
<td>{$v[0]}</td>
<td>{$v[1]}</td>
<td>{$v[2]}</td>
<td>{$v[3]}</td>
<td>{$v[4]}</td>
</tr>";
}
?>
</table>
<?php
echo "<div>".$page->fpage()."</div>"; //分页列表
?>
然后在上面加查询条框
1、如果用post方法传值:
<?php
$name = "";
$fytj = "";
if(!empty($_POST["name"])) //判断是否为空,也就是判断是否有提交值
{
$name = $_POST["name"];
$fytj = " name={$name}";
}
if(!empty($_GET["name"])) //判断是否为空,也就是判断是否有提交值
{
$name = $_GET["name"];
$fytj = " name={$name}";
}
$tj = " where AreaName like '%{$name}%' "; //查询条件
?>
<br />
<form action="text.php" method="post"> //用post方法传值
<div>
请输入:
<input type="text" name="name" value="" />
<input type="submit" value="查询" />
</div>
</form>
2、如果用get方法传值
<?php
$name = "";
$fytj = "";
if(!empty($_POST["name"]))
{
$name = $_POST["name"];
$fytj = " name={$name}";
}
if(!empty($_GET["name"]))
{
$name = $_GET["name"];
$fytj = " name={$name}";
}
$tj = " where AreaName like '%{$name}%' ";
?>
<br />
<form action="text.php" method="post">
<div>
请输入:
<input type="text" name="name" value="" />
<input type="submit" value="查询" />
</div>
</form>
这里需要注意的是:
1、如果用post方法传值时,构造分页对象时需要些4个参数
$page = new Page($total,20,$fytj,true);
而且要判断$_POST["name"]和$_GET["name"]是否为空
2、如果用get方法传值,则比较简单,构造分页对象时只需写两个参数
$page = new Page($total,20);
而且只需判断$_GET["name"]是否为空
PHP 分页+查询的更多相关文章
- JdbcTemplate+PageImpl实现多表分页查询
一.基础实体 @MappedSuperclass public abstract class AbsIdEntity implements Serializable { private static ...
- 用Hibernate和Struts2+jsp实现分页查询、修改删除
1.首先用get的方法传递一个页数过去 2.通过Struts2跳转到Action 3.通过request接受主页面index传过的页数,此时页数是1, 然后调用service层的方法获取DAO层分页查 ...
- MySQL、Oracle和SQL Server的分页查询语句
假设当前是第PageNo页,每页有PageSize条记录,现在分别用Mysql.Oracle和SQL Server分页查询student表. 1.Mysql的分页查询: SELECT * FROM s ...
- 分页查询和分页缓存查询,List<Map<String, Object>>遍历和Map遍历
分页查询 String sql = "返回所有符合条件记录的待分页SQL语句"; int start = (page - 1) * limit + 1; int end = pag ...
- mysql 分页查询
mysql,; : mysql,; -last. //如果只给定一个参数,它表示返回最大的记录行数目: mysql; 个记录行 ,n. 动态传参的分页查询 SELECT * FROM table LI ...
- MongoDB 分页查询的方法及性能
最近有点忙,本来有好多东西可以总结,Redis系列其实还应该有四.五.六...不过<Redis in Action>还没读完,等读完再来总结,不然太水,对不起读者. 自从上次Redis之后 ...
- .NET平台开源项目速览(7)关于NoSQL数据库LiteDB的分页查询解决过程
在文章:这些.NET开源项目你知道吗?让.NET开源来得更加猛烈些吧!(第二辑) 与 .NET平台开源项目速览(3)小巧轻量级NoSQL文件数据库LiteDB中,介绍了LiteDB的基本使用情况以及部 ...
- SubSonic3.0插件分页查询速度测试
使用SubSonic3.0一段时间了,一直都想找机会测试一下各种查询分页速度,对比一下插件的查询效率到底怎么样,所以昨天写好了测试程序,准备好1K.1W.10W.50W和100W记录的数据表,早上详细 ...
- Node.js、express、mongodb 实现分页查询、条件搜索
前言 在上一篇Node.js.express.mongodb 入门(基于easyui datagrid增删改查) 的基础上实现了分页查询.带条件搜索. 实现效果 1.列表第一页. 2.列表第二页 3. ...
- 【原创】SQL分页查询存储过程
------------------------------------- -----作者:张欣宇 -----时间:2013-06-28 -----简介:根据参数和条件分页查询 ----------- ...
随机推荐
- Spring自定义标签的实现
首先 简单写下 spring xml解析的过程 通过一段简单的 调用spring代码开始 public static void main(String[] args) { ApplicationCon ...
- 使用docker compose部署服务
谈到微服务的话题,技术上我们往往会涉及到多服务.多容器的部署与管理. Docker 有三个主要的作用:Build, Ship和Run.使用docker compose我们可以在Run的层面解决很多实际 ...
- shell运行下的写日志
tee 重定向输出到多个文件 在执行Linux命令时,我们既想把输出保存到文件中,又想在屏幕上看到输出内容,就可以使用tee命令 要注意的是:在使用管道线时,前一个命令的标准错误输出不会被tee读 ...
- go语言json转map
package util import ( "encoding/json" "fmt" ) // json转map函数,通用 func JSONToMap(st ...
- C++实例 分解质因数
分解质因数: 每个合数都可以写成几个质数相乘的形式.其中每个质数都是这个合数的因数,叫做这个合数的分解质因数.分解质因数只针对合数. 分解质因数的算式叫短除法.求一个数分解质因数,要从最小的质数除起, ...
- Beta冲刺版本第一天
该作业所属课程:https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass2 作业要求地址:https://edu.cnblogs.com ...
- java8学习之方法引用详解及默认方法分析
方法引用: 之前花了很多时间对Lambda表达式进行了深入的学习,接下来开启新的主题---方法引用(Method References),其实在之前的学习中已经使用过了,如: 那方法引用跟Lambda ...
- jenkins+docker+docker-compose持续集成
一.前期准备 1.宿主机安装docker,传送门 2.宿主机安装JDK,传送门 3.宿主机安装maven,传送门 4.宿主机安装git yum install git 5.宿主机安装jenkins,传 ...
- 计算机基础之BIOS
BIOS BIOS是英文"Basic Input Output System"的缩略词,直译过来后中文名称就是"基本输入输出系统".在IBM PC兼容系统上,是 ...
- 利用J.U.C中的lock和condition实现生产者消费者模式
package lockTest; import java.util.LinkedHashMap; import java.util.LinkedList; import java.util.conc ...