检索结果的分页显示实现(php)

检索的主页面代码如下:

<body>
      <H1><br><br><br><center>视频垂直搜索(pc端)</H1>
      <form method=get action="order1.php">
       请输入你要查询的视频关键字:<input type=text size=100 name=quarry><br>
      例如:让子弹飞 <br><br>
     
      <input type="submit" value="提交">
      <input type="reset" value="重置"></center>
      </form>
</body>

其中querry就是检索的关键字变量。

下面是分页的完整程序:

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>php make page list</title>
<style type="text/CSS">
<!--
.page a:link {
color: #0000FF;
text-decoration: none;
}
.page a:visited {
text-decoration: none;
color: #0000FF;
}
.page a:hover {
text-decoration: none;
color: #0000FF;
}
.page a:active {
text-decoration: none;
color: #0000FF;
}
.page{color:#0000FF;}
-->
</style>
</head>
<body>
<table width="530" height="103" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC">
<tr>
<th width="30" height="38" bgcolor="#E3E3E3" scope="col">ID</th>
<th width="500" bgcolor="#E3E3E3" scope="col">文章标题</th>
</tr>
<?php

//判断请求是否为空
@session_start();
$_SESSION["keywords"]=trim($_GET['quarry']);
$htp=$_SESSION["keywords"];
if(empty($htp)){
exit("输入为空!");
}
//echo 'wwww'.$htp;
 
//判断
if(empty($_GET['page'])||$_GET['page']<0){
$page=1;
}else {
$page=$_GET['page'];
echo 'ssss'.$page;
}
/*
* Created on 2010-4-17
*
* Order by Kove Wong
*/


$link=@mysql_connect("localhost","root","123") or die('数据库连接错误');
mysql_select_db("konka",$link);
//设置数据库编码
mysql_query("set names utf8",$link);
//每页显示10个资源
$Page_size=10;
//mysql命令
$querystring="select * from cid117 where title like ".'"%'.$htp.'%"';
//echo 'sss'.$querystring;

//按照关键字查询
$result=mysql_query("select * from cid117 where title like ".'"%'.$htp.'%"');
//计算含有关键字的影视的数目count
$count = mysql_num_rows($result);
//返回一个比ceil()大一点的整数,计算总页数
$page_count = ceil($count/$Page_size);

$init=1;
$page_len=7;
$max_p=$page_count;
$pages=$page_count;

//判断当前页码
if(empty($_GET['page'])||$_GET['page']<0){
$page=1;
}else {
$page=$_GET['page'];
}

$offset=$Page_size*($page-1);
$sql="select * from cid117 where title like ".'"%'.$htp.'%"'." limit $offset,$Page_size";
$result=mysql_query($sql,$link);
while ($row=mysql_fetch_array($result)) {
?>
<tr>
<td bgcolor="#E0EEE0" height="25px"><div align="center">
<?php echo $row['id']?>
</div></td>
<td bgcolor="#E0EEE"><div align="center">
<?php echo $row['title']?>
</div></td>
</tr>
<?php
}
$page_len = ($page_len%2)?$page_len:$pagelen+1;//页码个数
$pageoffset = ($page_len-1)/2;//页码个数左右偏移量

$key='<div class="page">';
$key.="<span>$page/$pages</span> "; //第几页,共几页
if($page!=1){
//$key.="<a href=\"".$_SERVER['PHP_SELF']."?page=1\">第一页</a> "; //第一页
//$key.="<a href=\"".$_SERVER['PHP_SELF']."?page=".($page-1)."\">上一页</a>"; //上一页
$key.="<a href=\"".$_SERVER['quarry']."?page=1&quarry=".$htp."\">第一页</a> "; //第一页 quarry
$key.="<a href=\"".$_SERVER['quarry']."?page=".($page-1)."&quarry=".$htp."\">上一页</a>"; //上一页 
}else {
$key.="第一页 ";//第一页
$key.="上一页"; //上一页
}
if($pages>$page_len){
//如果当前页小于等于左偏移
if($page<=$pageoffset){
$init=1;
$max_p = $page_len;
}else{//如果当前页大于左偏移
//如果当前页码右偏移超出最大分页数
if($page+$pageoffset>=$pages+1){
$init = $pages-$page_len+1;
}else{
//左右偏移都存在时的计算
$init = $page-$pageoffset;
$max_p = $page+$pageoffset;
}
}
}
for($i=$init;$i<=$max_p;$i++){
if($i==$page){
$key.=' <span>'.$i.'</span>';
} else {
//$key.=" <a href=\"".$_SERVER['PHP_SELF']."?page=".$i."\">".$i."</a>";
$key.=" <a href=\"".$_SERVER['quarry']."?page=".$i."&quarry=".$htp."\">".$i."</a>";
}
}
if($page!=$pages){
//$key.=" <a href=\"".$_SERVER['PHP_SELF']."?page=".($page+1)."\">下一页</a> ";//下一页
//$key.="<a href=\"".$_SERVER['PHP_SELF']."?page={$pages}\">最后一页</a>"; //最后一页
$key.=" <a href=\"".$_SERVER['quarry']."?page=".($page+1)."&quarry=".$htp."\">下一页</a> ";//下一页
$key.="<a href=\"".$_SERVER['quarry']."?page={$pages}&quarry=".$htp."\">最后一页</a>"; //最后一页 
}else {
$key.="下一页 ";//下一页
$key.="最后一页"; //最后一页
}
$key.='</div>';
?>
<tr>
<td colspan="2" bgcolor="#E0EEE0"><div align="center"><?php echo $key?></div></td>
</tr>
</table>
</body>
</html>

结果截图如下:

 

 

 

 

 

 

 

 

 

 

 

 

比如搜索“深圳”相关的视频,那么搜索的结果就会是:

这个时候就可以点击相应的页码显示相应的结果了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值