仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 840|回复: 18
打印 上一主题 下一主题

[学习教程] PHP网页设计帝国CMS的搜刮表单语律例则

[复制链接]
柔情似水 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-3 23:29:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
在学习PHP这六个月里,每看到一个优秀的php脚本,就会兴奋的手舞足蹈,嘴里还不停的说:太酷了,太酷了。呵呵,很幼稚吧,但这可能就是兴趣。    帝国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:按ID
2:按评论数
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">
上面是一个例子:


<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>




搜刮表单多前提并列搜刮语法申明

1. 多字段并列搜刮:有"字符串"与"数组"两种传递体例
字符串传递为例子:


<inputtype="hidden"name="hh"value="LK">
<inputtype="hidden"name="show"value="title,writer">
<inputtype="hidden"name="keyboard"value="题目,作者">


申明:下面为恍惚查询title字段包括"题目"字符或writer字段包括"作者"的信息
数组传递为例子:


<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字段包括"作者"的信息
2. 多逻辑运算联合符并列搜刮
字符串传递为例子:


<inputtype="hidden"name="hh"value="LK,EQ">
<inputtype="hidden"name="show"value="title,writer">
<inputtype="hidden"name="keyboard"value="题目,作者">


申明:下面为恍惚查询title字段包括"题目"字符或writer字段等于"作者"的信息
字符串传递为例子:


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


一个实践例子

表单设计以下:


<formaction="[!--news.url--]e/search/index.php"method="post"name="searchform"id="searchform">
<selectname="classid"id=""style="display:none">
     <optionvalue="59,60,78,79,80,81"selected>全体</option>
</select>
<inputtype="hidden"name="show"value="title,myarea,mycategory,smalltext"/>
<inputtype="hidden"name="tempid"value="1"/>
<tablewidth="100%"cellspacing="0"cellpadding="0"border="0">
     <tbody>
         <trclass="even">
             <tdstyle=" text-align:left;">区域:
         <selectname="area"id="">
             <optionvalue="">不限</option>
             <optionvalue="喷鼻洲">喷鼻洲</option>
             <optionvalue="吉大">吉大</option>
             <optionvalue="拱北">拱北</option>
             <optionvalue="新喷鼻洲">新喷鼻洲</option>
             <optionvalue="前山">前山</option>
             <optionvalue="南屏">南屏</option>
             <optionvalue="金湾">金湾</option>
             <optionvalue="斗门">斗门</option>
         </select>
           房型:
         <selectname="category"id="">
             <optionvalue="">不限</option>
             <optionvalue="58_0">一房</option>
             <optionvalue="58_1">二房</option>
             <optionvalue="58_2">三房以上</option>
             <optionvalue="58_3">公寓</option>
             <optionvalue="58_4">写字楼</option>
             <optionvalue="58_5">商铺</option>
             <optionvalue="58_6">厂房</option>
         </select>
             </td>
             <td> </td>
         </tr>
         <trclass="even">
             <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>
            <td> </td>
        </tr>
        <trclass="even">
             <tdstyle=" text-align:left;"><inputname="keyboard"type="text"size="32"value=""id="keyboard"class="inputText"/>   <inputtype="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;
}
在学习中,我也一直这样要求着自己。
活着的死人 该用户已被删除
沙发
发表于 2015-2-3 23:37:52 | 只看该作者
本人接触php时间不长,算是phper中的小菜鸟一只吧。由于刚开始学的时候没有名师指,碰过不少疙瘩,呗很多小问题卡过很久,白白浪费不少宝贵的时间,在次分享一些子的学习的心得。
板凳
发表于 2015-2-7 22:52:23 | 只看该作者
php里的数组为空的时候是不能拿来遍历的;(这个有点低级啊,不过我刚被这个边界问题墨迹了好长一会)
因胸联盟 该用户已被删除
地板
发表于 2015-2-16 23:37:30 | 只看该作者
你很难利用原理去编写自己的代码。对于php来说,系统的学习我认为还是很重要的,当你有一定理解后,你可你针对某种效果研究,我想那时你不会只是复制代码的水平了。
乐观 该用户已被删除
5#
发表于 2015-3-1 16:58:47 | 只看该作者
作为一个合格的coder 编码的规范是必须,命名方面我推崇“驼峰法”,另外就是自己写的代码最好要带注释,不然时间长了,就算是自己的代码估计看起来都费事,更不用说别人拉。
分手快乐 该用户已被删除
6#
发表于 2015-3-7 00:57:15 | 只看该作者
微软最近出的新字体“微软雅黑”,虽然是挺漂亮的,不过firefox  支持的不是很好,所以能少用还是少用的好。
小妖女 该用户已被删除
7#
发表于 2015-3-20 21:36:57 | 只看该作者
php里的数组为空的时候是不能拿来遍历的;(这个有点低级啊,不过我刚被这个边界问题墨迹了好长一会)
再见西城 该用户已被删除
8#
发表于 2015-3-24 11:38:57 | 只看该作者
刚开始安装php的时候,我图了个省事,把php的扩展全都打开啦(就是把php.ini 那一片 extension 前面的冒号全去掉啦),这样自然有好处,以后不用再需要什么功能再来打开。
莫相离 该用户已被删除
9#
发表于 2015-4-4 09:43:59 | 只看该作者
最后介绍一个代码出错,但是老找不到错误方法,就是 go to wc (囧),出去换换气没准回来就找到错误啦。
精灵巫婆 该用户已被删除
10#
发表于 2015-4-10 08:30:49 | 只看该作者
我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。
冷月葬花魂 该用户已被删除
11#
发表于 2015-4-10 11:14:35 | 只看该作者
开发工具也会慢慢的更专业,每个公司的可能不一样,但是zend studio是个大伙都会用的。
深爱那片海 该用户已被删除
12#
发表于 2015-4-21 17:16:09 | 只看该作者
这些中手常用的知识,当你把我说的这些关键字都可以熟练运用的时候,你可以选择自己
愤怒的大鸟 该用户已被删除
13#
发表于 2015-4-22 11:49:56 | 只看该作者
我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。
小魔女 该用户已被删除
14#
发表于 2015-4-28 01:59:15 | 只看该作者
有时候汉字的空格也能导致页面出错,所以在写代码的时候,要输入空格最好用引文模式。
谁可相欹 该用户已被删除
15#
发表于 2015-4-29 21:56:34 | 只看该作者
使用 jquery 等js框架的时候,要随时注意浏览器的更新情况,不然很容易发生框架不能使用。
柔情似水 该用户已被删除
16#
 楼主| 发表于 2015-5-4 21:16:39 | 只看该作者
开发工具也会慢慢的更专业,每个公司的可能不一样,但是zend studio是个大伙都会用的。
爱飞 该用户已被删除
17#
发表于 2015-5-8 08:30:26 | 只看该作者
本人接触php时间不长,算是phper中的小菜鸟一只吧。由于刚开始学的时候没有名师指,碰过不少疙瘩,呗很多小问题卡过很久,白白浪费不少宝贵的时间,在次分享一些子的学习的心得。
蒙在股里 该用户已被删除
18#
发表于 2015-6-19 17:53:03 | 只看该作者
php里的数组为空的时候是不能拿来遍历的;(这个有点低级啊,不过我刚被这个边界问题墨迹了好长一会)
飘灵儿 该用户已被删除
19#
发表于 2015-6-27 22:07:33 | 只看该作者
真正的方向了,如果将来要去开发团队,你一定要学好smarty ,phplib这样的模板引擎,
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-3 08:05

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表