php 站内搜索 多表 分页
借鉴了:http://blog.chinaunix.net/uid-20787846-id-3488253.html 这篇文章 ,在此基础上增加了分页功能
<?php
/* 关键字 */
$keyword = trim($_REQUEST['title']);
if(!empty($keyword))
{
$str = "";
$count = '';
/* 搜索表名称 */
$arr = array("channel"=>'`title`,`content`',"news"=>'`news_title`,`content`',"products"=>'`p_name`,`content`');
foreach($arr as $key=>$value){
$row = explode(",",$value);
$title = str_replace("`","",$row[0]);
$content = str_replace("`","",$row[1]);
$sql_l = "SELECT * FROM ".$key." ";
for($i=0;$i<count($row);$i++){
$sql_l .= ( preg_match('/WHERE/i' , $sql_l ) ? ' or ': ' WHERE ' ).$row[$i]." like '%".$keyword."%' ";
}
$queryu = $sql->query($sql_l)or die(mysql_error());
while($site = $sql->assoc($queryu)){
$title2 = str_ireplace($keyword, "<font color='red'>".$keyword."</font>",$site[$title]);
$content2 = str_ireplace($keyword, "<font color='red'>".$keyword."</font>", cut_str(strip_tags($site[$content]),180));
switch($key){
case 'channel':
$href = "GroupCEO.php?pid=3&cid=".$site['id'];
break;
case 'news':
$href = "Newslist.php?pid=4&xwid=".$site['id'];
break;
case 'products':
$href = "product_read.php?pid=1&fid=".$site['fid']."&id=".$site['id'];
break;
}
$str .= '<p class="hei"><strong class="lan"><a href="'.$href.'">'.$title2.'</a></strong>'.$content2.'</p<div style=" border-bottom:#666 dashed 1px;height:1px;"></div>';
$count .= "1";
}
}
//分页
$array = explode(" ", $str);
$page = $_REQUEST['page']?(int)$_REQUEST['page']:1;
$totalRows = strlen($count);
$pageSize=12;
$totalPage=ceil($totalRows/$pageSize);
if($page<1||$page==null||!is_numeric($page))$page=1;
if($page>=$totalPage)$page=$totalPage;
$start = ($page-1)*$pageSize;
$end = $page*$pageSize;
}
if(empty($str))
{
echo "<div style='margin:20px' >对不起!您搜索的内容不存在!</div>" ;
}
else
{
for($i=$start;$i<$end;$i++)
{
echo $array[$i];
}
}
}
else
{
echo "<div style='margin:20px' >对不起!您搜索的内容不存在!</div>" ;
}
?>
<div align="center" style="font-size:15px"><?php echo showPage($page, $totalPage,"keyword=$keyword");?></div>
以上内容仅提供思路 。
php 站内搜索 多表 分页的更多相关文章
- Lucene.net站内搜索—6、站内搜索第二版
目录 Lucene.net站内搜索—1.SEO优化 Lucene.net站内搜索—2.Lucene.Net简介和分词Lucene.net站内搜索—3.最简单搜索引擎代码Lucene.net站内搜索—4 ...
- Lucene.Net 站内搜索
Lucene.Net 站内搜索 一 全文检索: like查询是全表扫描(为性能杀手)Lucene.Net搜索引擎,开源,而sql搜索引擎是收费的Lucene.Net只是一个全文检索开发包(只是帮我们 ...
- 站内搜索(ELK)之开篇
因工作需要,近期使用ELK搭建单位内部“站内搜索”,目前已将内部OA系统20余个流程的表单.附件的数据索引到elasticsearch中,包括打印复印流程.声像采集流程.远程文件发送.规章制度.内线电 ...
- PHP核心编程--站内搜索
一. 站内搜索 前台页面: 在index.php页面中添加一个表单,输入搜索框 后台页面: 将index.php另存为search.php 对于搜索的 分页关键代码: 高亮关键字 相关 ...
- 一步步开发自己的博客 .NET版(5、Lucenne.Net 和 必应站内搜索)
前言 这次开发的博客主要功能或特点: 第一:可以兼容各终端,特别是手机端. 第二:到时会用到大量html5,炫啊. 第三:导入博客园的精华文章,并做分类.(不要封我) 第四:做 ...
- Lucene.net站内搜索—5、搜索引擎第一版实现
目录 Lucene.net站内搜索—1.SEO优化 Lucene.net站内搜索—2.Lucene.Net简介和分词Lucene.net站内搜索—3.最简单搜索引擎代码Lucene.net站内搜索—4 ...
- Lucene.net站内搜索—4、搜索引擎第一版技术储备(简单介绍Log4Net、生产者消费者模式)
目录 Lucene.net站内搜索—1.SEO优化 Lucene.net站内搜索—2.Lucene.Net简介和分词Lucene.net站内搜索—3.最简单搜索引擎代码Lucene.net站内搜索—4 ...
- Lucene.net站内搜索—3、最简单搜索引擎代码
目录 Lucene.net站内搜索—1.SEO优化 Lucene.net站内搜索—2.Lucene.Net简介和分词Lucene.net站内搜索—3.最简单搜索引擎代码Lucene.net站内搜索—4 ...
- Lucene.net站内搜索—1、SEO优化
目录 Lucene.net站内搜索—1.SEO优化 Lucene.net站内搜索—2.Lucene.Net简介和分词Lucene.net站内搜索—3.最简单搜索引擎代码Lucene.net站内搜索—4 ...
随机推荐
- Beyond Compare 忽略两个文件内容的顺序比较文件内容(xjl456852原创)
有时两个文件内容的顺序是不固定的,对比时需要忽略文件顺序进行对比. 可以这样设置: 点击菜单下面工具栏按钮: 点击Format旁的三角,选择Sorted,就会按文件的顺序排序比较.忽略了文件内容顺序的 ...
- CentOS7 定时检测进程占用内存大小,执行重启进程操作(xjl456852原创)
在使用CentOS时,个别程序的进程会一直增大,直到宕机.但是这种程序本身有没有更好的版本使用(比如ngrok免费就这样,付费的就没这个问题),所以想写一个脚本定时检测一下这个程序的情况,决定是否需要 ...
- jquery Tabs选项卡切换
效果: HTML部分: <!DOCTYPE html> <html lang="en"> <head> <meta charset=&qu ...
- Ruby中,类方法和实例方法的一个有趣的例子
最初的代码如下: class Object def abc p "instance abc" end def self.abc p "class abc" en ...
- Java第四周学习日记
Day01 双列集合: 在现实生活中有些数据是以映射关系存在的,也就是成对存在的,比如夫妻等.单例集合无法表现出映射关系,所以学习双列集合. 双列集合无迭代器. 1.Map 双列集合: ——————— ...
- asp.net FileUpload 控件上传文件 以二进制的形式存入数据库并将图片显示出来
图片上传事件代码如下所示: byte[] binary = upload.FileBytes; StringBuilder sqlStrSb = new StringBuilder(); sqlStr ...
- jquery uploadify插件多文件上传
1.jquery uploadify 下载:http://www.uploadify.com/ 2.安装:解压后拷贝的工程目录下面,如:WebRoot/uploaddify 3.配置项说明: uplo ...
- Gora官方文档之二:Gora对Map-Reduce的支持
参考官方文档:http://gora.apache.org/current/tutorial.html 项目代码见:https://code.csdn.net/jediael_lu/mygoradem ...
- JS对象排序
function createComparisonFunction(propertyName) {return function(object1, object2){var value1 = obje ...
- [模拟炉石](一)让游戏过程显示到cocos2d中
在上篇中,如果运行了fireplace的tests/full_game.py,这个程序将一个游戏过程在终端上运行完成,可以看到整个过程,那么第一步要做的就是将这个过程显示到cocos2d创建的场景中去 ...