作者:狐灵科技 | 2019-09-02 11:55 |点击:
该教程提供查询原理 学会后 可以制作查询证书 身份证等 很多查询功能都可以
下面开始讲解网站建设中利用织梦制作故障代码查询
织梦默认的高级搜索,就是这个页面/plus/advancedsearch.php,他是模糊搜索.而且会出现多条结果 我们这里讲解一下 修改单条搜索 或者多条 以及模糊搜索 精准搜素
首先我们要增加一个内容模型
后台,核心,模型管理,在原模型或新建立的模型中,增加字段.比如 品牌
我一般喜欢复制文字的内容模型
新频道名称改成你自己取的名字
新频道标识和新附加表 可以更改也可以默认
然后在新增的内容模型里 添加我们要查询的字段
然后返回模型管理,找到模型后面的放大镜图标,点击一下.如下图.
你是什么字段 就选择那个放大镜
下面模板选择,默认是利用官方默认模板中的advancedsearch.htm 模板 这个模板名字可以修改 默认不修改他
勾选要查询的字段 点击确定后,就会自动出现搜索代码.
根据出现的代码 填写到你的html代码里
这里还会出现一种情况 就是我们新增的自定义字段 不能搜索
解决办法查看这篇文章:织梦高级搜索页面advancedsearch.php调用自定义字段
到目前位置搜索还是模糊搜索 也就是搜索任意一个字段都是可以搜索到的 我们想要做成精准搜索 并且搜索一条 使用以下方法
修改plus/advancedsearch.php 这个文件.
大约在142行. 如下为修改后的效果.就是把模糊查询为精准查询.并增加一个不为空的判断.
if(isset(${$var}) && trim(${$var})!='') { ${$var} = stripslashes(${$var}); ${$var} = preg_replace("#[\|\"\r\n\t%\*\?\(\)\$;,'%<>]#", "", trim(${$var})); ${$var} = addslashes(${$var}); //$where .= " AND addon.$var LIKE '%${$var}%'"; $where .= " AND addon.$var = '${$var}'"; } else{ ShowMsg('身份证不能为空,或输入不正确',-1,0);exit;}
向下.
在下面这几行的下面增加
else { $sql = urldecode($sql); $query = $sql; }
else { $sql = urldecode($sql); $query = $sql; } //print_r($sql);exit; $searchinfo2 = $dsql->GetOne($sql); if(!is_array($searchinfo2)) { showmsg('查询的信息不存在,请检查输入','-1'); exit(); }
模板搜索代码为
<form action="/plus/advancedsearch.php" method="post"> <input type="hidden" name="mid" value="17"> <input type="hidden" name="dopost" value="search"> <div class="logininputs mb"> <p class="cl newal"> <input name="bianhao" value="" type="text" class="input-text" placeholder="故障代码" required="required" oninvalid="setCustomValidity('请输入故障代码');" oninput="setCustomValidity('');"> </p> <br> <p> </p> </div> <!--end --> <!--验证码框 --> <!--end --> <!--提交开始 --> <div class="sub"> <button type="submit" class="btn">点击查询</button> <!--end --> </div> </form>
搜索结果代码如下 路径在 templets/default
<html> <head> <link rel="stylesheet" href="/fox/js/skin/layer.css" id="layui_layer_skinlayercss" style=""> </head> <body>  <title>故障码查询</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta name="keywords" content=""> <meta name="description" content=""> <meta name="viewport" content="width=device-width, minimum-scale=1.0, maximum-scale=2.0"> <link media="all" type="text/css" href="/fox/css/wapstyle.css" rel="stylesheet"> <link rel="stylesheet" href="/fox/css/font-awesome.min.css"> <script src="/fox/js/jquery-1.8.2.min.js"></script> <script src="/fox/js/layer.js"></script> <script type="text/javascript" src="/fox/js/common.js"></script> <script type="text/javascript" src="/fox/js/ajax.js"></script> <div class="nav-banner pr"> <div class="nav-back"> <a href="#"> <i class="fa fa-search fa-lg"></i> </a> </div> <div class="nav-invitation"> 故障码查询 </div> </div> <!-- 搜索结果AJAX提示显示区,最后一行结束,用于显示时,挡掉搜索内容区--> <div class="ajaxbox"> <div id="tgs_result_str"> <div class="sbox"> <!--logo区 --> <div class="login-news"> <div class="title2_n1"> <span class="logo_title">感谢您使用我们的产品</span> <br> <span class="logo_title2">查询故障码,快速解决您的问题</span> </div> <!--end --> <!--搜索内容区 --> <div class="loginbox"> <!--输入防伪码框 --> <form action="/plus/advancedsearch.php" method="post"> <input type="hidden" name="mid" value="17"> <input type="hidden" name="dopost" value="search"> <div class="logininputs mb"> <p class="cl newal"> <input name="dm" value="" type="text" class="input-text" placeholder="故障代码" required="required" oninvalid="setCustomValidity('请输入故障代码');" oninput="setCustomValidity('');"> </p> <br> <p> </p> </div> <!--end --> <!--验证码框 --> <!--end --> <!--提交开始 --> <div class="sub"> <button type="submit" class="btn">点击查询</button> <!--end --> </div> </form> </div> </div> <!--搜索结果显示 --> {dede:datalist} <?php $fields['stime'] = GetDateTimeMk($fields['senddate']); $fields['arcurl'] = GetArcUrl($fields['aid'],$fields['typeid'],$fields['senddate'],$fields['title'],$fields['ismake'],$fields['arcrank'],$fields['namerule'],$fields['typedir'],$fields['money']); $fields['typeurl'] = GetTypeUrl($fields['typeid'],MfTypedir($fields['typedir']),$fields['isdefault'],$fields['defaultname'], $fields['ispart'],$fields['namerule2'],$fields['moresite'],$fields['siteurl'],$fields['sitepath']); ?> <p> <span style="background-color: rgb(0, 0, 0); color: rgb(255, 255, 255);">品牌:{dede:field.pp/}</span> </p> <p> <span style="background-color: rgb(0, 0, 0); color: rgb(255, 255, 255);">机型:{dede:field.jx/}</span> </p> <p> <span style="background-color: rgb(0, 0, 0); color: rgb(255, 255, 255);">代码:{dede:field.dm/}</span> </p> <p> <span style="background-color: rgb(0, 0, 0); color: rgb(255, 255, 255);">含义:{dede:field.hy/}</span> </p> <p> <span style="background-color: rgb(0, 0, 0); color: rgb(255, 255, 255);">解释:{dede:field.js/}<br/></span> </p> <p> <span style="background-color: rgb(0, 0, 0); color: rgb(255, 255, 255);">处理:{dede:field.cl/}</span><br><br><br><br> </p> {/dede:datalist} {dede:pagelist listsize=4 runphp=yes} @me = (strpos(@me,'0条') ? "<p style='color:#f00;'>没有相关记录</p>" : @me); {/dede:pagelist} <div class="cl footer"> Copyright© <a href="#" target="_blank">纳雄商贸</a>All Rights Reserved 版权所有 </div> <!--Power by 重庆狐灵网络科技 www.hulingweb.cn--> </div> </div> </div> </body> </html>