搜尋
首頁後端開發php教程帝国CMS的搜索表单语法规则_PHP教程

帝国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
帝国cms管理员在哪个表帝国cms管理员在哪个表Feb 22, 2023 pm 07:00 PM

管理员表有:1、phome_enewsuser,是管理员记录表;2、phome_enewsdolog,是管理员操作记录表;3、phome_enewsgroup,是管理员用户组数据记录表;4、phome_enewslog,是管理员登陆日志;5、phome_enewsloginfail,是管理员登陆失败记录表;6、phome_enewserrorclass,是管理员错误报告记录表。

帝国cms怎么把静态改成伪静态帝国cms怎么把静态改成伪静态Jul 19, 2023 pm 04:45 PM

帝国cms把静态改成伪静态的方法:1、创建.htaccess文件;2、修改网站配置文件;3、重新生成所有页面;4、配置伪静态规则;5、保存并关闭文件即可。

帝国cms404页面怎么设置帝国cms404页面怎么设置Aug 02, 2023 am 11:54 AM

帝国cms404页面的设置步骤为:1、登录到帝国CMS的后台管理界面;2、导航到"内容"或"站点管理"等相关菜单选项;3、找到和选择"404页面"或"错误页面"选项;4、选择使用已有页面或者创建一个新页面作为404页面;5、在新页面编辑器中,编写404页面的内容;6、保存页面并将其设置为404页面;7、更新网站设置;8、保存设置并测试404页面即可。

帝国cms可以删除模块吗帝国cms可以删除模块吗Mar 13, 2023 pm 07:18 PM

帝国cms可以删除模块。删除模块的方法:1、登录帝国CMS后台,依次点击“系统”-“系统设置”-“系统参数设置”-“关闭相关功能”,根据自己网站的需求,自行勾选设置来关闭对应的模块功能;2、关闭功能后,删除对应模块的在e目录下的子目录;3、修改e目录下的php文件,在文件第二行加上代码“exit();<?php exit()”,并保存修改即可。

帝国cms留言板是哪个表帝国cms留言板是哪个表Feb 22, 2023 am 09:39 AM

帝国cms留言板是“​phome_enewsgbook”表;帝国cms留言分类表是“phome_enewsgbookclass”;帝国cms会员空间留言表是“phome_enewsmembergbook”。

帝国cms连接不上数据库怎么办帝国cms连接不上数据库怎么办Feb 27, 2023 am 09:51 AM

帝国cms连接不上数据库的解决办法:1、打开帝国CMS数据文件的根目录;2、找到并打开“/e/config/config.php”文件;3、将数据库名称以及数据库用户名即数据库密码修改保存后替换空间文件即可。

帝国cms封面模板是什么意思帝国cms封面模板是什么意思Feb 13, 2023 am 10:39 AM

在帝国cms中,封面模板是指网站频道页面使用的模板,可以制作跟首页一模一样的封面页面;封面模板共使用在两个地方:非终极栏目和专题。封面模板的使用,一般是该栏目为父级栏目(非终级栏目),封面模板的目的就是调用各个子栏目(终级栏目)文章。

帝国cms怎么修改数据库文件帝国cms怎么修改数据库文件Jul 25, 2023 pm 03:37 PM

帝国cms修改数据库文件的方法:1、打开控制面板,找到phpMyAdmin或类似的数据库管理工具;2、选择您要修改的数据库;3、点击您要修改的表格;4、点击您要修改的字段;5、根据需求,修改相应的属性和值;6、保存您所做的修改;7、重复步骤三至六,对其他字段进行相应的修改即可。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前By尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前By尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器