php分页时候查询数据 mysql 查询分页

使用thinkphp分页时,怎么保存查询的条件?

统计和分页查询都加上相同条件就行了:

创新互联专业为企业提供漳县网站建设、漳县做网站、漳县网站设计、漳县网站制作等企业网站建设、网页设计与制作、漳县企业网站模板建站服务,十载漳县做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

$count = M('')-where('条件')-count();

$list= M('')-where('条件')-limit(分页)-select();

附上tp手册的条件查询分页方式:

php做条件查询时的分页传值问题

你这程序做得真不错,但是还是乱啊,我测试都没办法测试。提出个问题: $sel=$_POST['select'];

$sel2=$_POST['select2'];

你这样接收了两个变量,你这两个变量在每次刷新页数输出查询结果时,到底如何传递的 ?我发现你根本没有传递这两个变量;你测试下: $sel=$_POST['select'];

$sel2=$_POST['select2'];echo 'br/$sel'.$sel.'br/';echo '$sel2'.$sel2.'br/'; 建议:一开始使用post,已经输入后使用get,该select与select2通过html传输。再则,你的查询条件:年代,类别。(我不知道这两个是不是查询条件,看不出来。。。。)是如何输入的?等你说明下你到底想实现什么样的功能再贴上来吧哥哥。。。。。我帮你改了下,不知道能不能运行,自己测试下吧: ?php

include("conn.php");

if(isset($_POST['select']))//这里修改下

$sel=$_POST['select'];//这里修改下

else//这里修改下

$sel = $_GET['select'];//这里修改下

if(isset($_POST['select2']))//这里修改下

$sel2=$_POST['select2'];//这里修改下

else//这里修改下

$sel2 = $_GET['select2'];//这里修改下

if($sel=='' and $sel2=='')//这里修改下

$sql="select * from test";//这里修改下

elseif($sel!='' and $sel2=='')//这里修改下

$sql="select * from test where leibie like '%$sel%'";

elseif($sel=='' and $sel2!='')//这里修改下

$sql="select * from test where niandai like '%$sel2%'";

else

$sql="select * from test where leibie like '%$sel%' and niandai like '%$sel2%' ";

$result=mysql_query($sql);

$total=mysql_num_rows($result);

include("pageft.php");

pageft($total,10);

$info=mysql_query("$sql limit $firstcount,$displaypg");

if(!$info)

echo 'font size=6 color=red p align="center"没有您所要查找的内容,请重新查找!/p/font';

? table width="655" height="40" border="0" align="center"

tr

td width="680" align="right"span class="STYLE5 STYLE7"?php if($info) echo $pagenav;?

/span/td

/tr

/table

table width="847" height="48" border="1" align="center" cellpadding="0" cellspacing="0" bordercolor="#000000"

tr

td width="86" align="center"span class="STYLE1 STYLE8"名称/span/td

td width="85" align="center"span class="STYLE1 STYLE9"年代/span/td

td width="83" align="center"span class="STYLE1 STYLE8"类别/span/td

td width="495" align="center"span class="STYLE1 STYLE13 STYLE11"文物简介/span/td

td width="86" align="center"span class="STYLE1 STYLE11 STYLE13"图片/span/td

/tr

/table

?php

if($info)

while($row=mysql_fetch_array($info)){

$m=$m+1;

?

table width="844" height="51" border="1" align="center" cellspacing="0"

tr

td width="86" align="center"?php echo $m,"-",$row[name_db];?/td

td width="83" align="center"?php echo $row[niandai];?/td

td width="81" align="center"?php echo $row[leibie];?/td

td width="502" align="left"?php echo $row[remark];?/td

td width="80" align="center"a href="../images/?php echo $row[image_db];? "target="_blank"img src="../images/?php echo $row [image_db];?"width='80' height='80' //td

/tr

/table

?php } ; ?

table width="838" height="75" border="0" align="center"

tr

td width="824" align="center" class="STYLE5 STYLE7" ?php if($info) echo $pagenav;?/td

/tr

/table/body

/html

下面的是分页代码?php

//为了避免重复包含文件而造成错误,加了判断函数是否存在的条件:

if(!function_exists(pageft)){

//定义函数pageft(),三个参数的含义为:

//$totle:信息总数;

//$displaypg:每页显示信息数

//$url:分页导航中的链接,除了加入不同的查询信息“page”外的部分都与这个URL相同。

// 默认值本该设为本页URL(即$_SERVER["REQUEST_URI"]),但设置默认值的右边只能为常量,所以该默认值设为空字符串,在函数内部再设置为本页URL。

function pageft($totle,$displaypg=10,$url=''){//定义几个全局变量:

//$page:当前页码;

//$firstcount:(数据库)查询的起始项;

//$pagenav:页面导航条代码,函数内部并没有将它输出;

//$_SERVER:读取本页URL“$_SERVER["REQUEST_URI"]”所必须。

global $m,$page,$firstcount,$pagenav,$_SERVER;//为使函数外部可以访问这里的“$displaypg”,将它也设为全局变量。注意一个变量重新定义为全局变量后,原值被覆盖,所以这里给它重新赋值。

$GLOBALS["displaypg"]=$displaypg;if(!$page) $page=1;

//如果$url使用默认,即空值,则赋值为本页URL:

if(!$url){ $url=$_SERVER["REQUEST_URI"];}

//URL分析:

$parse_url=parse_url($url);

$url_query=$parse_url["query"]; //单独取出URL的查询字串

if($url_query){

//因为URL中可能包含了页码信息,我们要把它去掉,以便加入新的页码信息。

//这里用到了正则表达式

$url_query=ereg_replace("(^|)page=$page","",$url_query);//将处理后的URL的查询字串替换原来的URL的查询字串:

$url=str_replace($parse_url["query"],$url_query,$url);//在URL后加page查询信息,但待赋值:

if($url_query)

$url.="page"; else $url.="page";

}else {

$url.="?page";

}

$lastpg=ceil($totle/$displaypg); //最后页,也是总页数

$page=min($lastpg,$page);

$prepg=$page-1; //上一页

$nextpg=($page==$lastpg ? 0 : $page+1); //下一页$firstcount=($page-1)*$displaypg;//开始分页导航条代码:

$m=$firstcount;

$pagenav="显示第 b".($totle?($firstcount+1):0)."/b-b".min($firstcount+$displaypg,$totle)."/b 条记录,

共 $totle 条记录br";//如果只有一页则跳出函数:

if($lastpg=1) return false;

echo 'br/$url'.$url.'br/';

if($prepg) $pagenav.=" a href='$url=1select=$selselect2=$sel2'首页/a "; else $pagenav.="首页 ";//这里修改下

if($prepg) $pagenav.=" a href='$url=$prepgselect=$selselect2=$sel2'上一页/a "; else $pagenav.="上一页 ";//这里修改下

if($nextpg) $pagenav.=" a href='$url=$nextpgselect=$selselect2=$sel2'下一页/a "; else $pagenav.="下一页 ";//这里修改下

if($nextpg) $pagenav.=" a href='$url=$lastpgselect=$selselect2=$sel2'末页/a "; else $pagenav.="末页 ";//这里修改下//下拉跳转列表,循环列出所有页码:

$pagenav.="转select name='topage' size='1' onchange='window.location=\"$url=\"+this.valueselect=$selselect2=$sel2'\n";//这里修改下

for($i=1;$i=$lastpg;$i++){

if($i==$page) $pagenav.="option value='$i' selected$i/option\n";

else $pagenav.="option value='$i'$i/option\n";

}

$pagenav.="/select 页,共 $lastpg 页";

}

}

?

php 查询数据库 分页

说明你点下一页的时候,查询条件没有获取到,下一页的是连接,所以接受数据参数的时候需要用$_GET 来接收,提交的时候也需要用get方法提交,这样才能保证参数不会丢失,点击下一页的时候限制条件保持一致

PHP查询mysql的时候用了like和LIMIT分页,如何获得未分页但是like了的总数据量

第一、phpmyadmin 的查询结果显示了分页数据、总条数信息及索引信息,看似只执行了一次查询,实际上是做了多次查询的,只是页面中没显示出来,但是查看 mysql 的运行日志就会发现,其实已经执行了很多条 sql 语句,因为 phpmyadmin 的操作基本都是批量执行增删改查的;

第二、有一种方式可以实现只查询一次就能达到分页的效果,但实际上这种方式是不推荐的,性能比查询两次(一次查总数,一次查分页数据)低了很多,尤其在数据量越大的时候差异越明显;

一次查询的思路是:一次性把满足条件的数据全都查出来,然后再从结果中去取实际分页中要显示的那部分数据;例如,根据标题搜索数据,每页显示20条,一次性总共查出来 1000 条数据,显示第一页的时候就只获取前面的20条,第二页就取第21-40条,第三页就只取41-60条,后面的依次类推。

可想而知,这种查询是很浪费的,我明明只要那一部分数据,却查出了所有的,剩下那部分就根本没用。尤其在数据量大的时候,上万条百万条等等,性能就更差了,如果再加上高并发,那基本就要崩溃了。

所以做分页一般都是查两次比查一次好得多

PHP 查询结果分页显示

信息太少 只能写下面一部分

将while里面改一下即可

?php

$page_size=20;//每页信息条数

//解析URL

$url=$_SERVER["REQUEST_URL"];

$url=parse_url($url);

$url=$url[path];

$numq=mysql_query("SELECT * FROM `表名`");

$num=mysql_num_rows($numq);

$page_first=1;

$page_last=ceil($num/$page_size);//获得总页数 也就是最后一页的数值

if ($_GET[page]=1){

$page_num=$_GET[page];

$page_nums=($page_num-1)*$page_size;

}else{

$page_num=1;

$page_nums=($page_num-1)*$page_size;

}

echo $num."条记录,共".$page_last."页"."====bbig这是第".$page_num."页/big/b"."br";

for($i=1;$i=$page_last;$i++){

echo "a href=$url2?page=".($page_num+$i-1).""."第".($page_num+$i-1)."页 "."/a";

}

$sql="SELECT * FROM `表名` limit $page_nums,$page_size";

$query=mysql_query($sql);

echo "table border=1tr th姓名/thth姓别/th/tr";

while($row=mysql_fetch_array($query)){

echo "tr td";

echo $row[name];

echo "/td";

echo "td";

echo $row[sex];

echo "/td/tr";

}

echo "/table";

?


文章题目:php分页时候查询数据 mysql 查询分页
转载来源:http://pwwzsj.com/article/hiiooj.html