帝国CMS提供了比较强大的搜索结果调用,你可以按照帝国cms搜索表单制作语法,制作出满足你需求的大部分搜索功能。如果你在你的数据库中有自定义字段,那么可能需要改一下e/search/index.php对form表单提交的数据处理,可以参考文章最后提供的例子。先来看看搜索表单变量说明:
变量名说明例子搜索表单提交地址POST方式:/e/search/index.php
搜索表单多条件并列搜索语法说明
1. 多字段并列搜索:有"字符串"与"数组"两种传递方式
字符串传递为例子:
说明:上面为模糊查询title字段包含"标题"字符或者writer字段包含"作者"的信息
数组传递为例子:
上面为模糊查询title字段包含"标题"字符或者writer字段包含"作者"的信息
2. 多逻辑运算联结符并列搜索
字符串传递为例子:
说明:上面为模糊查询title字段包含"标题"字符或者writer字段等于"作者"的信息
字符串传递为例子:
说明:上面为模糊查询title字段包含"标题"字符或者writer字段等于"作者"的信息。
一个实际例子
表单设计如下:
全部
地区:
不限
香洲
吉大
拱北
新香洲
前山
南屏
金湾
斗门
房型:
不限
一房
二房
三房以上
公寓
写字楼
商铺
厂房
|
时间范围: 到 (不选则不限时段)
|
|
为了可以加入对自定义字段myarea与mycategory的搜索,我们需要对e/search/index.php进行适当改写:
$keyboard=$_POST['keyboard'].','.$_POST['area'].','.$_POST['category'];
// 这是原来的:$keyboard=$_POST['keyboard'];
$keyboardone=0;
if(is_array($keyboard))
{}
elseif(strstr($keyboard,','))
{
$keyboard=explode(',',$keyboard);
}
else
{
$keyboard=trim($keyboard);
$len=strlen($keyboard);
if($len$public_r[max_keyboard])
{
printerror("MinKeyboard",$getfrom,1);
}
$keyboardone=1;
}
Statement:The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn