thinkphp实现模糊匹配(学习贵哥代码)
模板文件:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>资讯管理-{$site.SITE_INFO.name}</title>
<php>
$addCss="";
$addJs="";
$currentNav ='资讯管理 > 资讯列表';
</php>
<include file="Common:intoHead" />
<script type="text/javascript" src="__PUBLIC__/My97DatePicker/WdatePicker.js"></script>
</head>
<body>
<script>
function import_check(){
var f_content = form1.file.value;
var fileext=f_content.substring(f_content.lastIndexOf("."),f_content.length)
fileext=fileext.toLowerCase()
if (fileext!='.xlsx')
{
alert("对不起,导入数据格式必须是xlsx格式文件哦,请您调整格式后重新上传,谢谢 !");
return false;
}
else{ document.getElementById("form1").submit();}
}
</script>
<div class="wrap">
<include file="Common:head" />
<div class="mainBody">
<include file="Common:left" />
<div id="Right">
<div class="Item hr">
<div class="current">资讯列表</div>
</div>
<div align="right" id="excels">
<form id="form1" name="form1" enctype="multipart/form-data" method="post" action="__APP__/Lawerinfo/sqlinsert">
<table><tr> <td width="400px;" height="50"> 选择你要导入的数据表:</td>
<td width="82%"><label>
<input name="file" type="file" id="file" size="50" />
</label>
<label>
<input name="button" type="button" class="nnt_submit" id="button" value="导入数据" onclick="import_check();"/><font color="#FF0000">*</font><font color="#009900"><?php echo $_GET[tishi]; ?></font>
</label> <span class="s_s" style="color:#0000FF; cursor:pointer" onclick="$(this).hide(); $('.search').show();$('#excels').hide();">[搜索条件]</span>
</td><td></td></tr></table>
</form></div>
<div style="padding-left:30px; padding-right:30px;">
<form name="frmSearch" method="get" action="{:U('index')}">
<table width="100%" border="0" cellspacing="0" cellpadding="0" class="tab search" style="display:none">
<th colspan="2" style="text-align:left; color:#FF0000">此搜索是模糊匹配,输入任意一个条件即可查找!</th>
<tr>
<td style="width:120px; text-align:right">姓名:</td>
<td><input name="name" type="text" class="input" size="40" /> </td>
</tr>
<tr>
<td style="text-align:right">手机号:</td>
<td><input name="mobile" type="text" class="input" size="40" maxlength="11" /> </td>
</tr>
<tr>
<td style="text-align:right">邮箱:</td>
<td><input name="email" type="text" class="input" size="40" /> </td>
</tr>
<tr>
<td style="text-align:right">用户角色:</td>
<td>
<select name="sex" class="input" style="height:30px">
<option value="">无</option>
<option value="男">男</option>
<option value="女">女</option>
</select>
</td>
</tr>
<tr>
<td style="text-align:right">注册时间:</td>
<td>
<input name="st" type="text" class="input" size="26" onFocus="WdatePicker({isShowClear:false,readOnly:true,dateFmt:'yyyy-MM-dd HH:mm:ss'})" />
—
<input name="et" type="text" class="input" size="26" onFocus="WdatePicker({isShowClear:false,readOnly:true,dateFmt:'yyyy-MM-dd HH:mm:ss'})" />
</td>
</tr>
<tr>
<td style="text-align:right"> </td>
<td>
<span style="color:#0000FF; cursor:pointer" onclick="document.frmSearch.submit();">[搜 索]</span>
<span style="color:#0000FF; cursor:pointer" onclick="$('.search').hide(); $('.s_s').show();$('#excels').show();">[关 闭]</span>
</td>
</tr>
</table>
</form>
</div>
<form action="__APP__/Lawerinfo/deletes" method="post">
<table width="100%" border="0" cellspacing="0" cellpadding="0" class="tab">
<thead>
<tr>
<td><strong><span id="alls" style="color:#006600; cursor:pointer">√全选</span></strong></td>
<td>执业证号</td>
<td>律师姓名</td>
<td>性别</td>
<td>律师事务所名称</td>
<td>律所地址</td>
<td>首次执业日期</td>
<td>律所电话</td>
<td>律所学历</td>
<td width="150">操作</td>
</tr>
</thead>
<volist name="list" id="vo">
<tr align="center" id="{$vo.id}" class="checks">
<td><input type="checkbox" name="id[]" value="{$vo.id}"/></td>
<td>{$vo.certificate_num}</td>
<td>{$vo.true_name}</td>
<td>{$vo.sex}</td>
<td>{$vo.law_firm_name}</td>
<td>{$vo.law_firm_address}</td>
<td>{$vo.first_date}</td>
<td>{$vo.lawer_phone}</td>
<td>{$vo.lawer_xueli}</td>
<td>[ <a href="__URL__/edit/id/{$vo.id}/tb/1">编辑 </a> ] [ <a link="{:U('Lawerinfo/del/',array('id'=>$vo['id']))}" href="javascript:void(0)" name="{$vo.title}" class="del">删除 </a> ]</td>
</tr>
</volist>
<tr style="text-align:center"><td><input type="submit" onclick="return confirm('确定要删除选中项吗?')" value="删除被选项" id="bt" /></td><td colspan="8">{$page}</td></tr>
</table>
</form>
</div>
</div>
</div>
<div class="clear"></div>
<include file="Common:foot" />
<script src="__PUBLIC__/Js/jquery-1.7.2.min.js"></script>
<script type="text/javascript">
$(function(){
$(".del").click(function(){
var delLink=$(this).attr("link");
popup.confirm('你真的打算删除【<b>'+$(this).attr("name")+'</b>】吗?','温馨提示',function(action){
if(action == 'ok'){
top.window.location.href=delLink;
}
});
return false;
});
});
$(function(){
$("#alls").toggle(function(){
$("input:checkbox").attr("checked",true);
$(this).html("X取消全选");
$(this).css("color",'red');
},function(){
$("input:checkbox").attr("checked",false);
$(this).html("√全选");
$(this).css("color",'#006600');
})
});
$(function(){
})
</script>
</body>
</html>
控制器:
public function index() {
//作为搜索条件查找某律师的信息
$where = '1=1';
if(!empty($_GET['name'])) $where .= ' and true_name regexp \'' . trim($_GET['name']) . '\'';
if(!empty($_GET['mobile'])) $where .= ' and law_mobile regexp \'' . trim($_GET['mobile']) . '\'';
if(!empty($_GET['email'])) $where .= ' and email regexp \'' . trim($_GET['email']) . '\'';
if(!empty($_GET['sex'])) $where .= ' and sex regexp \'' . trim($_GET['sex']) . '\'';
if(!empty($_GET['st'])) $where .= ' and first_date >= \'' . substr(str_replace('+', ' ', $_GET['st']),0,4) . '\'';
if(!empty($_GET['et'])) $where .= ' and first_date <= \'' . substr(str_replace('+', ' ', $_GET['et']),0,4) . '\'';
$M = M("Constant");
$count = $M->where($where)->count();
import("ORG.Util.Page"); // 导入分页类
$d = new Page($count,15); //分页
$list=$M->limit($d->firstRow.','.$d->listRows)->select();
$dd=$d->show();
$this->assign('list', D('Lawerinfo')->listMember($d->firstRow, $d->listRows, $where));
$this->assign('page',$dd);
$this->display();
}
模型层:
public function listMember($firstRow = 0, $listRows = 20, $where) {
$M = M('Constant');
$list = $M->where($where)->limit("$firstRow , $listRows")->select();
return $list;
}
thinkphp实现模糊匹配(学习贵哥代码)的更多相关文章
- FuzzyAutocomplete代码模糊匹配智能提示
下载地址:https://github.com/FuzzyAutocomplete/FuzzyAutocompletePlugin Xcode 7.3.1 中已经对代码模糊匹配智能提示优化,已经不需要 ...
- mysql学习2:模糊匹配查询like,regexp,in
mysql模糊匹配查询like,regexp,in 摘要 内容比较简单,无摘要. 关键词 模糊查询 like regexp in contact 正文 下图是示例用到的数据表信息 ...
- DevExpress控件cxGrid实现多列模糊匹配输入的完美解决方案
本方案不需要修改控件源码,是完美解决cxgrid或TcxDBExtLookupComboBox支持多列模糊匹配快速输入的最佳方案!! 转自https://blog.csdn.net/qq5643020 ...
- EasyUi模糊匹配搜索框combobox
现在项目当中很多已经应用了Jquery-easyUi这个界面框架了,所以,学习一点easyUI的常用工具就显得很重要了,现在介绍的就是我在项目中用到的easyUi的模糊匹配组合框combobox. c ...
- 学习坤哥的replaceTpl方法
学习坤哥的方法之后自己写的replaceTpl function replaceTpl(tpl, data){///////////////没有传入可让用户自己定义的方式进行替换,不够灵活 ...
- 记一个同时支持模糊匹配和静态推导的Atom语法补全插件的开发过程: 序
简介 过去的一周,都睡的很晚,终于做出了Atom上的APICloud语法提示与补全插件:apicloud_autocomplete.个中滋味,感觉还是有必要记录下来的.代码基于 GPL-3.0 开源, ...
- 茗洋Easy UI 1.3.2 部分问题解决系列专题[Combo模糊匹配中文问题 修复]
本次给大家带来的EasyUI的我研究拓展的新特性 我使用的是 EasyUI 1.3.2版本的,项目是ASP.NET MVC3,但是本篇讲解用不上ASP.NET MVC,仅仅修改官方Demo你就知道怎 ...
- grep是模糊匹配
1. 我:我用的ps -nat|grep -i "80"|wc -l命令 我:解释详细点,,龙哥,对于我这种菜鸟:也是模糊匹配 :你用 grep "80" 会匹 ...
- ExtJs combobox支持模糊匹配
其实很简单,我们只需要在创建下拉框时,给下拉框添加一个监听事件,代码如下: //以下监听事件用于对下拉项进行模糊匹配 ,listeners:{ ...
随机推荐
- makefile debug
1. 使用warning指令 warning 是个不错的命令,可以打印出消息,来判断makefile执行的流程 2.使用ifeq ifneq 当makefile被多次调用到的时候,如果都输出warni ...
- 解决CocoaPods在OS X 10.11出现问题-b
最近把mac系统升级到10.11系统,但是在用pod install命令的时候,却提示command not found.后来上网查了下才知道,Cocoapods在10.11系统上发生了变化. 在st ...
- C++程序的构成和书写形式
C++程序的结构和书写格式归纳如下: (1) 一个C++程序可以由一个程序单位或多个程序单位构成.每一个程序单位作为一个文件.在程序编译时,编译系统分别对各个文件进行编译,因此,一个文件是一个编译单 ...
- ACM俱乐部算法基础练习赛(1)
A: 水题 代码: #include<cstdio> #include<algorithm> using namespace std; ]; int n,m,c; int ma ...
- 【BZOJ 3110】 [Zjoi2013]K大数查询(整体二分)
[题目] Description 有N个位置,M个操作.操作有两种,每次操作如果是1 a b c的形式表示在第a个位置到第b个位置,每个位置加入一个数c如果是2 a b c形式,表示询问从第a个位置到 ...
- ASP.NET MVC 下 引用阿里巴巴和IconFont字体路径404问题
参考:http://stackoverflow.com/questions/28169365/font-wont-get-found-on-server-for-firefox# http://blo ...
- C++中new和不new的区别
我们都知道C++中有三种创建对象的方法,如下: 复制代码代码如下: #include <iostream>using namespace std; class A{private: ...
- NET Framework GAC目录构造
转:http://www.yl1001.com/userzone.htm?doaction=article&art_id=5851381388387201 我们一般都知道,.NET Frame ...
- opengl学习
#include"stdafx.h" #define GLUT_DISABLE_ATEXIT_HACK #include <GL/glut.h> //glut自动将gl ...
- SVG事件响应
1 UIEvents(用户界面事件) focusin(onfocusin):一个元素获得焦点(例如,一段文本被选中) focusout(onfocusout):一个元素失去焦点(例如,一段文本 ...