目录
搜索表单多条件并列搜索语法说明
一个实际例子
首页 后端开发 php教程 帝国CMS的搜索表单语法规则_PHP教程

帝国CMS的搜索表单语法规则_PHP教程

Jul 13, 2016 am 10:33 AM
帝国cms

帝国CMS提供了比较强大的搜索结果调用,你可以按照帝国cms搜索表单制作语法,制作出满足你需求的大部分搜索功能。如果你在你的数据库中有自定义字段,那么可能需要改一下e/search/index.php对form表单提交的数据处理,可以参考文章最后提供的例子。先来看看搜索表单变量说明:

变量名 说明 例子
搜索表单提交地址 POST方式:/e/search/index.php
GET方式:/e/search/?searchget=1 /e/search/?searchget=1&keyboard=帝国&show=title
keyboard 搜索关键字变量
show 搜索字段变量(多个字段用","格开。搜索字段必须是后台模型开启搜索的字段)
classid 搜索栏目ID(不设置为不限,多个栏目可用","格开,设置父栏目会搜索所有子栏目)
ztid 搜索专题ID(不设置为不限,多个专题可用","格开)
tbname 按数据表搜索(需与搜索模板ID结合)
tempid 所用搜索模板ID(一般跟按表搜索结合使用)
starttime与endtime 分别为搜索发布起始时间与结束时间的信息(不填为不限.格式:2008-02-27)
startprice与endprice 分别为商品价格的起始价格与结束价格(不填为不限)
搜索特殊字段 id : 按信息ID搜索
keyboard : 按关键字搜索(可实现按tags列出信息)
userid : 按发布者用户ID搜索
username : 按发布者用户名搜索
member 值为0则不限制
值为1则为只搜索会员投稿的信息
值为2则为只搜索管理员增加的信息
orderby 排序字段:
0:按发布日期(默认)
1:按ID
2:按评论数
3:按浏览人气
4:按下载数
myorder 排序方式:
0:倒序排列(默认)
1:顺序排列
andor 设置多条件查询之间关联关系,有两种:
or : 或者的关系(默认)
and : 并且的关系
hh 逻辑运算联结符变量:
LT : 小于
GT : 大于
EQ : 等于
LE : 小于等于
GE : 大于等于
NE : 不等于
IN : 包含(搜索关键字用空格隔开每个值)
BT : 范围,两个值之间(搜索关键字用空格隔开两个值)
LK : 模糊查询(默认)

下面是一个例子:

<table width="320" border="0" cellspacing="1" cellpadding="3">
<form name="searchform" method="post" action="/e/search/index.php">
<tr>
   <td>关键字:<input name="keyboard" type="text" size="10"></td>
   <td>范围:
      <select name="show">
      <option value="title">标题</option>
      <option value="smalltext">简介</option>
      <option value="newstext">内容</option>
      <option value="writer">作者</option>
      <option value="title,smalltext,newstext,writer">搜索全部</option>
       </select></td>
</tr>
<tr>
   <td>栏 目:
      <select name="classid">
      <option value="0">搜索全部</option>
      <option value="1">新闻中心</option>
      <option value="4">技术文档</option>
      <option value="22">下载中心</option>
       </select> </td>
   <td><input type="submit" name="submit" value="搜索"></td>
</tr>
</form>
</table>
登录后复制

搜索表单多条件并列搜索语法说明

1. 多字段并列搜索:有"字符串"与"数组"两种传递方式

字符串传递为例子:

<input type="hidden" name="hh" value="LK">
<input type="hidden" name="show" value="title,writer">
<input type="hidden" name="keyboard" value="标题,作者">
登录后复制

说明:上面为模糊查询title字段包含"标题"字符或者writer字段包含"作者"的信息

数组传递为例子:

<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字段包含"作者"的信息

2. 多逻辑运算联结符并列搜索

字符串传递为例子:

<input type="hidden" name="hh" value="LK,EQ">
<input type="hidden" name="show" value="title,writer">
<input type="hidden" name="keyboard" value="标题,作者">
登录后复制

说明:上面为模糊查询title字段包含"标题"字符或者writer字段等于"作者"的信息

字符串传递为例子:

<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字段等于"作者"的信息。

一个实际例子

表单设计如下:

						<form action="[!--news.url--]e/search/index.php" method="post" name="searchform" id="searchform">
						<select name="classid" id="" style="display:none">
							<option value="59,60,78,79,80,81" selected>全部</option>
						</select>
						<input type="hidden" name="show" value="title,myarea,mycategory,smalltext" />
						<input type="hidden" name="tempid" value="1" />
						<table width="100%" cellspacing="0" cellpadding="0" border="0">
							<tbody>
								<tr class="even">
									<td style=" text-align:left;">地区:
								<select name="area" id="">
									<option value="">不限</option>
									<option value="香洲">香洲</option>
									<option value="吉大">吉大</option>
									<option value="拱北">拱北</option>
									<option value="新香洲">新香洲</option>
									<option value="前山">前山</option>
									<option value="南屏">南屏</option>
									<option value="金湾">金湾</option>
									<option value="斗门">斗门</option>
								</select>
								
								  房型:
								<select name="category" id="">
									<option value="">不限</option>
									<option value="58_0">一房</option>
									<option value="58_1">二房</option>
									<option value="58_2">三房以上</option>
									<option value="58_3">公寓</option>
									<option value="58_4">写字楼</option>
									<option value="58_5">商铺</option>
									<option value="58_6">厂房</option>
								</select>
									</td>
									<td> </td>
								</tr>
								<tr class="even">
									<td style=" text-align:left;">时间范围: <input name="starttime" type="text" value="2008-08-08" size="12" onclick="calendar.show(this);" /> 到 <input type="text" id="todayButton" name="todayButton" value="" size="12" onclick="calendar.show(this);" /> (不选则不限时段)</td>
									<td> </td>
								</tr>
								<tr class="even">
									<td style=" text-align:left;"><input name="keyboard" type="text" size="32" value="" id="keyboard" class="inputText" />   <input type="submit" name="Submit22" value=" 搜 索 " /></td>
									<td></td>
								</tr>
							</tbody>
						</table>
						</form>
登录后复制

为了可以加入对自定义字段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[min_keyboard]||$len>$public_r[max_keyboard])
	{
		printerror("MinKeyboard",$getfrom,1);
	}
	$keyboardone=1;
}
登录后复制

OK,完成。

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/752538.htmlTechArticle帝国CMS提供了比较强大的搜索结果调用,你可以按照帝国cms搜索表单制作语法,制作出满足你需求的大部分搜索功能。如果你在你的数据库...
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Java教程
1662
14
CakePHP 教程
1419
52
Laravel 教程
1312
25
PHP教程
1262
29
C# 教程
1235
24
帝国cms手机端设置在哪里 帝国cms手机端设置在哪里 Apr 17, 2024 pm 12:12 PM

帝国CMS的手机端设置位于“模板管理”模块的“手机模板”中,具体步骤包括:启用模板、选择应用频道、编辑模板内容,并保存设置。

帝国cms网站地图在哪 帝国cms网站地图在哪 Apr 17, 2024 am 10:48 AM

通过访问config.inc.php文件并检查dositemap设置,可以查找帝国CMS网站地图。如果设置为"on",则网站地图已启用。网站地图路径位于sitemapurl设置中,可以通过浏览器访问或通过FTP下载。

帝国cms模板文件放在哪里好用 帝国cms模板文件放在哪里好用 Apr 17, 2024 am 07:22 AM

帝国CMS模板文件理想的放置位置是/e/template/default/skin/default/,其次还可以放置在/e/data/skins/和/e/skin/,需要注意保持文件夹结构、设置文件权限以及定期备份。

帝国cms自动发布接口在哪 帝国cms自动发布接口在哪 Apr 17, 2024 am 09:03 AM

帝国CMS的自动发布接口位于/e/api/web/postinfo.php,使用步骤如下:访问 /e/api/web/postinfo.php 地址使用 HTTP POST 提交文章标题、栏目 ID、分类 ID、作者和文章内容等数据接口会返回一个 JSON 格式的响应,其中包含发布结果和文章 ID

帝国cms数据库配置文件在哪找 帝国cms数据库配置文件在哪找 Apr 17, 2024 am 06:42 AM

帝国CMS数据库配置文件位于网站根目录下e/config/db.inc.php,它包含以下配置信息:$dbhost:数据库服务器地址$dbuser:数据库用户名$dbpass:数据库密码$dbname:数据库名称$dbport:数据库端口$dbcharset:数据库字符集

帝国cms百度主动推送插件在哪 帝国cms百度主动推送插件在哪 Apr 17, 2024 am 11:00 AM

帝国cms百度主动推送插件位于根目录/e/api/baidu/push.php。具体配置步骤如下:1. 上传插件文件至指定路径。2. 在帝国cms后台配置“百度主动推送”选项,包括推送地址、API Key和推送间隔。3. 获取百度推送信息:推送地址:https://data.zz.baidu.com/urls?site=YOUR_SITE&token=YOUR_API_KEY,API Key:登录百度搜索资源平台获取。4. 定期更新API Key,并设置合理的推送间隔。

帝国cms是免费的吗 帝国cms是免费的吗 Apr 17, 2024 am 11:24 AM

是的,帝国CMS是一款免费的开源内容管理系统(CMS)。它是一款轻量级CMS,功能丰富,易于使用。帝国CMS遵循GNU通用公共许可证(GPL),这意味着它可以免费下载、安装和使用。对于商业用途,它提供了付费版本,提供额外的功能和支持,例如广告管理、在线支付和高级技术支持。

帝国cms资源网模板在哪 帝国cms资源网模板在哪 Apr 17, 2024 am 10:00 AM

帝国CMS模板下载位置:官方模板下载:https://www.phome.net/template/第三方模板网站:https://www.dedecms.com/diy/https://www.0978.com.cn/https://www.jiaocheng.com/安装方式:下载模板解压模板上传模板选择模板

See all articles