帝国CMS提供了比较强大的搜索结果调用,你可以按照帝国cms搜索表单制作语法,制作出满足你需求的大部分搜索功能。如果你在你的数据库中有自定义字段,那么可能需要改一下e/search/index.php对form表单提交的数据处理,可以参考文章最后提供的例子。先来看看搜索表单变量说明:
变量名说明例子搜索表单提交地址POST方式:/e/search/index.php<form name="searchform" method="post" action="/e/search/index.php">GET方式:/e/search/?searchget=1/e/search/?searchget=1&keyboard=帝国&show=titlekeyboard搜索关键字变量<input name="keyboard" type="text">show搜索字段变量(多个字段用","格开。搜索字段必须是后台模型开启搜索的字段)<input type="hidden" name="show" value="title,newstext">classid搜索栏目ID(不设置为不限,多个栏目可用","格开,设置父栏目会搜索所有子栏目)<input type="hidden" name="classid" value="1">ztid搜索专题ID(不设置为不限,多个专题可用","格开)<input type="hidden" name="ztid" value="1">tbname按数据表搜索(需与搜索模板ID结合)<input type="hidden" name="tbname" value="news">tempid所用搜索模板ID(一般跟按表搜索结合使用)<input type="hidden" name="tempid" value="1">starttime与endtime分别为搜索发布起始时间与结束时间的信息(不填为不限.格式:2008-02-27)<input name="starttime" type="text" value="0000-00-00" size="12"><input name="endtime" type="text" value="0000-00-00" size="12">startprice与endprice分别为商品价格的起始价格与结束价格(不填为不限)<input name="startprice" type="text" value="0" size="6"><input name="endprice" type="text" value="0" size="6">搜索特殊字段id : 按信息ID搜索keyboard : 按关键字搜索(可实现按tags列出信息)userid : 按发布者用户ID搜索username : 按发布者用户名搜索<input type="hidden" name="show" value="keyboard">member值为0则不限制值为1则为只搜索会员投稿的信息值为2则为只搜索管理员增加的信息<input type="hidden" name="member" value="1">orderby排序字段:0:按发布日期(默认)1:按ID2:按评论数3:按浏览人气4:按下载数<input type="hidden" name="orderby" value="1">myorder排序方式:0:倒序排列(默认)1:顺序排列<input type="hidden" name="myorder" value="1">andor设置多条件查询之间关联关系,有两种:or : 或者的关系(默认)and : 并且的关系<input type="hidden" name="andor" value="and">hh逻辑运算联结符变量:LT : 小于GT : 大于EQ : 等于LE : 小于等于GE : 大于等于NE : 不等于IN : 包含(搜索关键字用空格隔开每个值)BT : 范围,两个值之间(搜索关键字用空格隔开两个值)LK : 模糊查询(默认)<input type="hidden" name="hh" value="LK">
下面是一个例子:
01<tablewidth="320"border="0"cellspacing="1"cellpadding="3">
02<formname="searchform"method="post"action="/e/search/index.php">
03<tr>
04<td>关键字:<inputname="keyboard"type="text"size="10"></td>
05<td>范围:
06<selectname="show">
07<optionvalue="title">标题</option>
08<optionvalue="smalltext">简介</option>
09<optionvalue="newstext">内容</option>
10<optionvalue="writer">作者</option>
11<optionvalue="title,smalltext,newstext,writer">搜索全部</option>
12</select></td>
13</tr>
14<tr>
15<td>栏 目:
16<selectname="classid">
17<optionvalue="0">搜索全部</option>
18<optionvalue="1">新闻中心</option>
19<optionvalue="4">技术文档</option>
20<optionvalue="22">下载中心</option>
21</select> </td>
22<td><inputtype="submit"name="submit"value="搜索"></td>
23</tr>
24</form>
25</table>
搜索表单多条件并列搜索语法说明
1. 多字段并列搜索:有"字符串"与"数组"两种传递方式
字符串传递为例子:
1<inputtype="hidden"name="hh"value="LK">
2<inputtype="hidden"name="show"value="title,writer">
3<inputtype="hidden"name="keyboard"value="标题,作者">
说明:上面为模糊查询title字段包含"标题"字符或者writer字段包含"作者"的信息
数组传递为例子:
1<inputtype="hidden"name="hh"value="LK">
2<inputtype="hidden"name="show[]"value="title">
3<inputtype="hidden"name="keyboard[]"value="标题">
4<inputtype="hidden"name="show[]"value="writer">
5<inputtype="hidden"name="keyboard[]"value="作者">
上面为模糊查询title字段包含"标题"字符或者writer字段包含"作者"的信息
2. 多逻辑运算联结符并列搜索
字符串传递为例子:
1<inputtype="hidden"name="hh"value="LK,EQ">
2<inputtype="hidden"name="show"value="title,writer">
3<inputtype="hidden"name="keyboard"value="标题,作者">
说明:上面为模糊查询title字段包含"标题"字符或者writer字段等于"作者"的信息
字符串传递为例子:
1<inputtype="hidden"name="show[]"value="title">
2<inputtype="hidden"name="hh[]"value="LK">
3<inputtype="hidden"name="keyboard[]"value="标题">
4<inputtype="hidden"name="show[]"value="writer">
5<inputtype="hidden"name="hh[]"value="EQ">
6<inputtype="hidden"name="keyboard[]"value="作者">
说明:上面为模糊查询title字段包含"标题"字符或者writer字段等于"作者"的信息。
一个实际例子
表单设计如下:
01<formaction="/e/search/index.php"method="post"name="searchform"id="searchform">
02<selectname="classid"id=""style="display:none">
03<optionvalue="59,60,78,79,80,81"selected>全部</option>
04</select>
05<inputtype="hidden"name="show"value="title,myarea,mycategory,smalltext"/>
06<inputtype="hidden"name="tempid"value="1"/>
07<tablewidth="100%"cellspacing="0"cellpadding="0"border="0">
08<tbody>
09<trclass="even">
10<tdstyle=" text-align:left;">地区:
11<selectname="area"id="">
12<optionvalue="">不限</option>
13<optionvalue="香洲">香洲</option>
14<optionvalue="吉大">吉大</option>
15<optionvalue="拱北">拱北</option>
16<optionvalue="新香洲">新香洲</option>
17<optionvalue="前山">前山</option>
18<optionvalue="南屏">南屏</option>
19<optionvalue="金湾">金湾</option>
20<optionvalue="斗门">斗门</option>
21</select>
22
23房型:
24<selectname="category"id="">
25<optionvalue="">不限</option>
26<optionvalue="58_0">一房</option>
27<optionvalue="58_1">二房</option>
28<optionvalue="58_2">三房以上</option>
29<optionvalue="58_3">公寓</option>
30<optionvalue="58_4">写字楼</option>
31<optionvalue="58_5">商铺</option>
32<optionvalue="58_6">厂房</option>
33</select>
34</td>
35<td></td>
36</tr>
37<trclass="even">
38<tdstyle=" text-align:left;">时间范围: <inputname="starttime"type="text"value="2008-08-08"size="12"onclick="calendar.show(this);"/> 到 <inputtype="text"id="todayButton"name="todayButton"value=""size="12"onclick="calendar.show(this);"/> (不选则不限时段)</td>
39<td></td>
40</tr>
41<trclass="even">
42<tdstyle=" text-align:left;"><inputname="keyboard"type="text"size="32"value=""id="keyboard"class="inputText"/> <inputtype="submit"name="Submit22"value=" 搜 索 "/></td>
43<td></td>
44</tr>
45</tbody>
46</table>
47</form>
为了可以加入对自定义字段myarea与mycategory的搜索,我们需要对e/search/index.php进行适当改写:
01$keyboard=$_POST['keyboard'].','.$_POST['area'].','.$_POST['category'];
02// 这是原来的:$keyboard=$_POST['keyboard'];
03$keyboardone=0;
04if(is_array($keyboard))
05{}
06elseif(strstr($keyboard,','))
07{
08$keyboard=explode(',',$keyboard);
09}
10else
11{
12$keyboard=trim($keyboard);
13$len=strlen($keyboard);
14if($len<$public_r[min_keyboard]||$len>$public_r[max_keyboard])
15{
16printerror("MinKeyboard",$getfrom,1);
17}
18$keyboardone=1;
19}
OK,完成。
比如公共模板里的模向搜索js模板。
自定义模型,字段搜索启用后,按自建表job 可以写成这样,供参考
// <form name=search_js1 method=post action='/e/search/index.php' onsubmit='return search_check(document.search_js1);'><input type="hidden" name="show" value="title,fl,yx,jy,xl,xz,dd,ftitle,smalltext"><input type="hidden" name="tbname" value="job"><input type="hidden" name="tempid" value="1"><input class="search_input" name="keyboard" type="text" placeholder="请输入职位名称或公司名称" value=""><input type="submit" name="Submit" value="找工作" class="search_button"></form> //
就算是一辆永久单车也能让你的梦想走很远。
相关文章:
你感兴趣的文章:
标签云:
亚洲高清电影在线,
免费高清电影,
八戒影院夜间,
八戒电影最新大片,
出轨在线电影,
午夜电影院,
在线影院a1166,
在线电影院,
在线观看美剧下载,
日本爱情电影,
日韩高清电影在线,
电影天堂网,
直播盒子app,
聚合直播,
高清美剧,
高清美剧在线观看
EhViewer-E站,
E站,
E站绿色版,
qqmulu.com,
qq目录网,
qq网站目录,