帝国网站管理系统4.7在继承4.6的搜索基础上新增了多条件、多字段并列搜索等功能
今天我们就专门来讲解4.7的搜索改进
回顾下4.6的搜索语法: 可以点击这里查看:http://phome.net/doc/ecmsedu/template/makesearchform.html
相对于4.6,4.7版有什么改进呢?下面我们一一说明 一、支持多栏目同时搜索: 搜索多个栏目用逗号格开即可 例子:下面为搜索id=1,id=2,id=3三个栏目的信息: <input type="hidden" name="classid" value="1,2,3">
二、支持专题搜索: 搜索专题变量名:ztid 搜索多个专题可以用逗号格开,同上面的多栏目搜索 例子:下面为搜索专题ID=1的信息 <input type="hidden" name="ztid" value="1">
三、支持各种逻辑运算联结符: 逻辑运算联结符变量名:hh LT : 小于 GT : 大于 EQ : 等于 LE : 小于等于 GE : 大于等于 NE : 不等于 IN : 包含(搜索关键字用空格隔开每个值) BT : 范围,两个值之间(搜索关键字用空格隔开两个值) LK : 模糊查询(默认)
例子: 模糊查询:<input type="hidden" name="hh" value="LK">
四、支持设置多条件查询之间关联关系 关联关系变量名为:andor 有两种关联关系: or : 或者的关系(默认) and : 并且的关系
例子: <input type="hidden" name="andor" value="and">
五、支持多字段、多逻辑运算联结符并列搜索 (一)、多字段并列搜索:有“字符串”与“数组”两种传递方式 1、字符串传递为例子: <input type="hidden" name="hh" value="LK"> <input type="hidden" name="show" value="title,writer"> <input type="hidden" name="keyboard" value="标题,作者"> (说明:上面为模糊查询title字段包含“标题”字符或者writer字段包含“作者”的信息)
2、数组传递为例子: <input type="hidden" name="hh" value="LK"> <input type="hidden" name="show[]" value="title"> <input type="hidden" name="keyboard[]" value="标题"> <input type="hidden" name="show[]" value="writer"> <input type="hidden" name="keyboard[]" value="作者"> (说明:上面为模糊查询title字段包含“标题”字符或者writer字段包含“作者”的信息)
(二)、多逻辑运算联结符并列搜索 1、字符串传递为例子: <input type="hidden" name="hh" value="LK,EQ"> <input type="hidden" name="show" value="title,writer"> <input type="hidden" name="keyboard" value="标题,作者"> (说明:上面为模糊查询title字段包含“标题”字符或者writer字段等于“作者”的信息)
2、字符串传递为例子: <input type="hidden" name="show[]" value="title"> <input type="hidden" name="hh[]" value="LK"> <input type="hidden" name="keyboard[]" value="标题"> <input type="hidden" name="show[]" value="writer"> <input type="hidden" name="hh[]" value="EQ"> <input type="hidden" name="keyboard[]" value="作者"> (说明:上面为模糊查询title字段包含“标题”字符或者writer字段等于“作者”的信息)
六、新增特殊字段查询 特殊字段包括: id : 按信息id搜索 keyboard : 按关键字搜索,可实现按tags列出信息效果 userid : 按用户ID搜索 username : 按用户名搜索
新增member变量:可设置只搜索会员投稿或者管理员增加的信息。
值为0则不限制 值为1则为只搜索会员投稿的信息 值为2则为只搜索管理员增加的信息 |
例子:只搜索会员投稿的信息 <input type="hidden" name="member" value="1">
七、新增新的GET提交方式 可以将数据直接提交至e/search/index.php,而不需要4.6的/search/keyword中转。 只要在参数中加上“searchget”变量就可以了,如:/e/search/?searchget=1&keyboard=帝国&show=title
应用例子::实现按标题、作者、录入者与信息ID同时搜索的表单
上面例子的表单html代码:
<form name="searchform" method="post" action="/e/search/index.php"> <table width="550" border="0" align="center" cellpadding="3" cellspacing="1" class="tableborder"> <input type="hidden" name="tbname" value="news"> <input type="hidden" name="tempid" value="1"> <input type="hidden" name="andor" value="and"> <tr class="header"> <td colspan="2">新闻搜索</td> </tr> <tr bgcolor="#FFFFFF"> <td width="97">标题:</td> <td width="388"> <input type="hidden" name="show[]" value="title"> <input type="hidden" name="hh[]" value="LK"> <input name="keyboard[]" type="text"> </td> </tr> <tr bgcolor="#FFFFFF"> <td>作者:</td> <td> <input type="hidden" name="show[]" value="writer"> <input type="hidden" name="hh[]" value="LK"> <input name="keyboard[]" type="text"> </td> </tr> <tr bgcolor="#FFFFFF"> <td>录入者:</td> <td> <input type="hidden" name="show[]" value="username"> <input type="hidden" name="hh[]" value="EQ"> <input name="keyboard[]" type="text"> </td> </tr> <tr bgcolor="#FFFFFF"> <td>信息ID范围:</td> <td> <input type="hidden" name="show[]" value="id"> <input type="hidden" name="hh[]" value="BT"> <input name="keyboard[]" type="text"> <font color="#666666">(例:“1 6”表示1到6之间) </font></td> </tr> <tr bgcolor="#FFFFFF"> <td> </td> <td> <input type="submit" name="Submit" value="马上搜索"> <font color="#666666">(不设置为不限)</font></td> </tr> </table> </form>
新版搜索功能支持各种字段、运算组合搜索,更多应用期待您去实践,至此本节讲解完毕。
更多帝国网站管理系统V4.7解密请听下回分解。
相关链接: 帝国网站管理系统V4.7功能解密 DIGG的实现 帝国网站管理系统V4.7功能解密 多会员组的注册导航制作 帝国网站管理系统V4.7功能解密 多条件搜索 分配栏目管理权限设置教程 帝国网站管理系统V4.7功能解密之 模型之间的字段关联 帝国网站管理系统V4.7功能解密之 计划任务功能
|