thinkphp实现模糊匹配(学习贵哥代码)

时间:2022-10-29 11:00:06

模板文件:

<!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>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<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'})" />
&nbsp;&nbsp;—&nbsp;&nbsp;
<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">&nbsp;</td>
<td>
<span style="color:#0000FF; cursor:pointer" onclick="document.frmSearch.submit();">[搜 索]</span>
&nbsp;&nbsp;&nbsp;&nbsp;
<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;
    }