php168 多关键字搜索的修改窍门
>首页 -> 社会专题 -> 硬件网络 2013-07-26 来源:齐博论坛 作者: 【】 浏览:599

以下是引用片段:

制作个标签,从后台随便标签位置添加都可以标签代码

<table width="100%" cellpadding="0" cellspacing="0" border="0">

<form name="formsearch" method="post" action="http://www.qibomb.com/do/search.php">

<tr>

<td height="14"> 标题:<input type="text" name="keyword" size="10">

关键字:<input type="text" name="keyword1" size="10">

<input type="submit" name="Submit32" value="搜索">

<input type="hidden" name="searchTable" value="article">

</td>

</tr>

</form>

</table> 

然后针对/do/search.php进行修改

从10行到14行

if( ($_GET[type]||$_POST[type]) && !($keyword||$keyword1) ) //没写入任何搜索字段时执行它

{

showerr("关键字不能为空");

17行

if( $_GET[keyword] || $_POST[keyword] || $keyword1 )//如果填写标题或关键词的任意一个的时候从这里开始执行,这里$_POST[keyword] 和$keyword1是对应表单写法不同判断效率是一样的,把$_POST[keyword]改成$keyword也是可以的,但可能会影响到独立搜索页

然后进入if语句我们看到从24行开始有一段代码 

[code]if(!$type)

{

$type='title';

}

我们回过来看一下我们制作的表单,它发送的值中没有$type对应的值,所以$type是空的,执行此段之后,$type=='title'

好啦,那我们就开始往下找,找到

elseif($type=='title') //因为$type=='title'满足条件,务必执行此段代码,很显然从这段代码下手

{

$SQL.=" AND BINARY A.title LIKE '%$keyword%' ";

}

修改成以下代码

elseif($type=='title')

{

$SQL.=" AND BINARY A.title LIKE '%$keyword%' "; //这个就不用多讲了,就是对标题模糊查询

if($keyword1)

{

//echo 'test';exit;

unset($array);//清空数据

$query = $db->query("SELECT B.aid FROM {$pre}keywordid B LEFT JOIN {$pre}keyword A ON A.id=B.id WHERE A.keywords='$keyword1'");

//上面这一行乍一看感觉一头雾水,没关系哥也是猜测不是很理解,大概意思从p8_keywordid表里获取符合$keyword1的文章id。从上一个elseif中抄袭的[s:29]  

//p8文章模型关联各种数据表,挺复杂的,如果你把这些数据表都理清了,你就[s:30]  很NB了

while($rs = $db->fetch_array($query)){

$array[]=$rs[aid];//对应文章aid放到$array数组

}

if($array){

$SQL.=" AND A.aid IN (".implode(',',$array).") "; //把$array的数据用逗号分隔放到一个字符串,然后关联文章aid来查找

}else{

$SQL.=" AND 0 "; //没找到关键词

}

}

请替换do/search.php文件别忘了备份

您看到此篇文章时的感受是:
Tags: 责任编辑:佚名
免责申明: 除原创及很少部分因网文图片遗失而补存外,本站不存储任何有版权的内容。你看到的文章和信息及网址索引均由机器采集自互联网,由于时间不同,内容可能完全不同,请勿拿本网内容及网址索引用于交易及作为事实依据,仅限参考,不会自行判断者请勿接受本站信息,本网转载,并不意味着赞同其观点或证实其内容的真实性.如涉及版权等问题,请立即联系管理员,我们会予以更改或删除,保证您的权利.对使用本网站信息和服务所引起的后果,本网站不作任何承诺.
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论:0条】 【关闭】 【返回顶部
更多
上一篇齐博:PHP168 常见数据库连接出错.. 下一篇齐博v7:风格制作简单步骤
密码: (新用户注册)

最新文章

图片主题

热门文章

推荐文章

相关文章

便民服务

手机扫描

空间赞助

快速互动

论坛互动
讨论留言

有事联系

有哪个那个什么的,赶紧点这里给DOVE发消息

统计联系

MAIL:gnlt@Dovechina.com
正在线上:

版权与建议

任何你想说的