帝国CMS搜索表单制作教程
帝国CMS内置强大的搜索功能,用户只需制作搜索表单指向搜索处理页面即可实现相应搜索。本文讲解:搜索表单制作语法。
搜索表单的变量说明
变量名 | 说明 | 例子 |
搜索表单提交地址 | 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=title | |
keyboard | 搜索关键字变量 | <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 | 分别为商品价格的起始价格与结束价格(price字段,不填为不限) | <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 | 排序字段:可指定搜索结果页面的排序字段名。不指定为按发布时间(newstime)排序。排序字段必须是后台系统模型开启排序项的字段。 | <input type="hidden" name="orderby" value="id"> |
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"> |
单条件搜索的表单制作范例
一、表单范例1:
1、用dreamweaver制作好表单:
设计视图:代码模式下的表单代码
<tablewidth="320"border="0"cellspacing="1"cellpadding="3"><formname="searchform"method="post"action="/e/search/index.php"><tr><td>关键字:<inputname="keyboard"type="text"size="10"></td><td>范围:<selectname="show"><optionvalue="title">标题</option><optionvalue="smalltext">简介</option><optionvalue="newstext">内容</option><optionvalue="writer">作者</option><optionvalue="title,smalltext,newstext,writer">搜索全部</option></select></td></tr><tr><td>栏 目:<selectname="classid"><optionvalue="0">搜索全部</option><optionvalue="1">新闻中心</option><optionvalue="4">技术文档</option><optionvalue="22">下载中心</option></select></td><td><inputtype="submit"name="submit"value="搜索"></td></tr></form></table>
2、最终搜索表单显示效果为下图:
搜索表单多条件并列搜索的语法说明
多字段、多逻辑运算联结符并列搜索
(一)、多字段并列搜索:有“字符串”与“数组”两种传递方式
1、字符串传递为例子:
<inputtype="hidden"name="hh"value="LK"><inputtype="hidden"name="show"value="title,writer"><inputtype="hidden"name="keyboard"value="标题,作者">
(说明:上面为模糊查询title字段包含“标题”字符或者writer字段包含“作者”的信息)
2、数组传递为例子:
<inputtype="hidden"name="hh"value="LK"><inputtype="hidden"name="show[]"value="title"><inputtype="hidden"name="keyboard[]"value="标题"><inputtype="hidden"name="show[]"value="writer"><inputtype="hidden"name="keyboard[]"value="作者">
(说明:上面为模糊查询title字段包含“标题”字符或者writer字段包含“作者”的信息)
(二)、多逻辑运算联结符并列搜索
1、字符串传递为例子:
<inputtype="hidden"name="hh"value="LK,EQ"><inputtype="hidden"name="show"value="title,writer"><inputtype="hidden"name="keyboard"value="标题,作者">
(说明:上面为模糊查询title字段包含“标题”字符或者writer字段等于“作者”的信息)
2、字符串传递为例子:
<inputtype="hidden"name="show[]"value="title"><inputtype="hidden"name="hh[]"value="LK"><inputtype="hidden"name="keyboard[]"value="标题"><inputtype="hidden"name="show[]"value="writer"><inputtype="hidden"name="hh[]"value="EQ"><inputtype="hidden"name="keyboard[]"value="作者">
(说明:上面为模糊查询title字段包含“标题”字符或者writer字段等于“作者”的信息)
多条件并列搜索的表单制作范例
二、表单范例2:实现按标题、作者、录入者与信息ID同时搜索的表单
1、用Dreamweaver制作好表单:
设计视图:代码模式下的表单代码上面例子html代码
<formname="searchform"method="post"action="/e/search/index.php"><tablewidth="550"border="0"align="center"cellpadding="3"cellspacing="1"class="tableborder"><inputtype="hidden"name="tbname"value="news"><inputtype="hidden"name="tempid"value="1"><inputtype="hidden"name="andor"value="and"><trclass="header"><tdcolspan="2">新闻搜索</td></tr><trbgcolor="#FFFFFF"><tdwidth="97">标题:</td><tdwidth="388"><inputtype="hidden"name="show[]"value="title"><inputtype="hidden"name="hh[]"value="LK"><inputname="keyboard[]"type="text"></td></tr><trbgcolor="#FFFFFF"><td>作者:</td><td><inputtype="hidden"name="show[]"value="writer"><inputtype="hidden"name="hh[]"value="LK"><inputname="keyboard[]"type="text"></td></tr><trbgcolor="#FFFFFF"><td>录入者:</td><td><inputtype="hidden"name="show[]"value="username"><inputtype="hidden"name="hh[]"value="EQ"><inputname="keyboard[]"type="text"></td></tr><trbgcolor="#FFFFFF"><td>信息ID范围:</td><td><inputtype="hidden"name="show[]"value="id"><inputtype="hidden"name="hh[]"value="BT"><inputname="keyboard[]"type="text"><fontcolor="#666666">(例:“16”表示1到6之间)</font></td></tr><trbgcolor="#FFFFFF"><td> </td><td><inputtype="submit"name="Submit"value="马上搜索"><fontcolor="#666666">(不设置为不限)</font></td></tr></table></form>
- 上一篇
解决帝国CMS文章自动提取简介后双引号显示成”方法
一般的站长在正常情况下录入文章的时间一般是不会单独手动真写smalltext简单内容的,在正常的情况下,帝国会自动提取正文内容里的前部分文字为简介,但有时候正文里有特殊的字符,这样就会导致自动提取简介的时候会产生&rdqu
- 下一篇
帝国cms万能调用指定栏目名称与url链接及别名标签是什么?
帝国cms调万能用指定栏目名称与url链接标签不用放在灵动标签里面调用,这个标签想用在什么地方就放在什么地方即可,是一个万能标签好用。代码如下:1、调用栏目名称标签:<?=$class_r[栏目ID]['classname']?>举例: