tp5增删改查 jquery分页 所搜 全选 批删 单删

登录页面

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<form action="{:url('index/code')}" method="post" onsubmit="return All()">
    <table>
        <tr>
            <td>用户名</td>
            <td>
                <input type="text" name="name" class="name">
                <span class="span"></span>
            </td>
        </tr>
        <tr>
            <td>密码</td>
            <td><input type="password" name="pwd"></td>
        </tr>
        <tr>
            <td>验证码</td>
            <td>
                <input type="text" name="code">
               <sapn id="span"><img src="{:captcha_src()}" alt="captcha"/></sapn>
            </td>
        </tr>
        <tr>
            <td></td>
            <td><input type="submit" value="登录"></td>
        </tr>
    </table>
</form>
</body>
</html>
<script src="__STATIC__/jquery.js"></script>
<script>
    $("#span").click(function(){
        $(this).html('');
        $(this).html('<sapn id="span"><img src="{:captcha_src()}" alt="captcha"/></sapn>');
    });

    var flag='';
    $(".name").blur(function(){
        var name=$(this).val();
        var reg = /^.{2,6}$/;
        if(reg.test(name))
        {
            $(".span").html('√');
            $(".span").style('green');
            flag=true;
        }
        else
        {
            $(".span").html('2-6位字符后汉字');
            $(".span").style('red');
            flag=false;
        }
    });
    function All()
    {
        if(flag == false)
        {
            return true;
        }
        else
        {
            return false;
        }
    }
</script>

添加页面

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>添加表单</title>
</head>
<body>
<form action="{:url('index/add')}" method="post" enctype="multipart/form-data">
    <table>
        <tr>
            <td>所属学院</td>
            <td>
                <select name="collage" id="">
                    {volist name="arr" id="v"}
                    <option value="{$v.c_id}">{$v.xx}</option>
                    {/volist}
                </select>
            </td>
        </tr>
        <tr>
            <td>专业名称</td>
            <td><input type="text" name="name"></td>
        </tr>
        <tr>
            <td>专业封面</td>
            <td><input type="file" name="image"></td>
        </tr>
        <tr>
            <td>专业负责人</td>
            <td><input type="text" name="man"></td>
        </tr>
        <tr>
            <td></td>
            <td><input type="submit" value="上传"></td>
        </tr>
    </table>
</form>
</body>
</html>
 

展示页面

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
所属学院
<select name="" id="cc">
    <option value="">请选择</option>
    {volist name="data" id="v"}
    <option value="{$v.c_id}">{$v.xx}</option>
    {/volist}
</select>
课程名称
<input type="text" id="sel">
<button class="sel">搜索</button>
<table border="1">
    <thead>
    <tr>
        <td>请选择</td>
        <td>编号</td>
        <td>封面</td>
        <td>课程名称</td>
        <td>所属学院</td>
        <td>专业负责人</td>
        <td>时间</td>
        <td>操作</td>
    </tr>
    </thead>
    <tbody>
    {volist name="arr" id="v"}
    <tr id="{$v.id}">
        <td><input type="checkbox" name="box" value="{$v.id}"></td>
        <td>{$v.id}</td>
        <td><img src="__STATIC__/uploads/{$v.photo}" style="width: 100px;height: 70px;"></td>
        <td>{$v.name}</td>
        <td>{$v.xx}</td>
        <td>{$v.man}</td>
        <td>{$v.time}</td>
        <td><a href="javascript:void(0)" class="del">删除</a></td>
    </tr>
    {/volist}
    </tbody>
</table>
<input type="hidden" value="1" id="page">
<button class="p">上一页</button>
<button class="p">下一页</button>
<button class="dels">批删</button>
<button class="box1">全选</button>
<button class="box2">取消</button>
<button class="box3">反选</button>
</body>
</html>



<script src="__STATIC__/jquery.js"></script>
<script>
    //全选
    $('.box1').click(function(){
        $("[name=box]:checkbox").prop("checked",true);
    });
    //取消
    $('.box2').click(function(){
        $("[name=box]:checkbox").prop("checked",false);
    });
    //反选
    $('.box3').click(function(){
        $("[name=box]:checkbox").each(function(){
            $(this).prop("checked",!$(this).prop("checked"));
        });
    });
    //分页
    $('.p').click(function(){
        var txt =$(this).text();
         //搜索的值
        var sel =$("#sel").val();
         //搜索下拉框里的值
        var cc =$("#cc").val();
        var page =$("#page").val();
        if(txt=='上一页')
        {
            page = parseInt(page)-1;
        }
        else
        {
            page = parseInt(page)+1;
        }
        $.ajax({
            type: "GET",
            url: "{:url('index/fenye')}",
            data: {
                     page:page,
                     sel:sel,
                     cc:cc
            },
            success: function(msg){
                if(msg==false)
                {
                    return false;
                }
                var json = jQuery.parseJSON(msg);
                $('tbody').html('');
                $("#page").val(page);
                $(json).each(function(key,val){
                    var str='<tr id='+val.id+'>';
                    str+='<td><input type="checkbox" name="box" value="'+val.id+'" ></td>';
                    str+='<td>'+val.id+'</td>';
                    str+="<td><img src='__STATIC__/uploads/"+val.photo+"' style='width: 100px;height: 70px;'></td>";
                    str+='<td>'+val.name+'</td>';
                    str+='<td>'+val.xx+'</td>';
                    str+='<td>'+val.man+'</td>';
                    str+='<td>'+val.time+'</td>';
                    str+="<td><a href='javascript:void(0)' class='del'>删除</a></td>";
                    str+='</tr>';
                    $('tbody').append(str);
                });
            }
        });
    });
    //搜索
    $('.sel').click(function(){
        var sel =$("#sel").val();
        var cc =$("#cc").val();
        var page =$("#page").val();
        page=1;
        $.ajax({
            type: "GET",
            url: "{:url('index/fenye')}",
            data: {
                page:page,
                sel:sel,
                cc:cc
            },
            success: function(msg){
                if(msg=='')
                {
                    alert('没由搜索到您想要的数据');
                }
                if(msg==false)
                {
                    return false;
                }
                var json = jQuery.parseJSON(msg);
                $('tbody').html('');
                $(json).each(function(key,val){
                    var str='<tr id='+val.id+'>';
                    str+='<td><input type="checkbox" name="box" value="'+val.id+'"></td>';
                    str+='<td>'+val.id+'</td>';
                    str+="<td><img src='__STATIC__/uploads/"+val.photo+"' style='width: 100px;height: 70px;'></td>";
                    str+='<td>'+val.name+'</td>';
                    str+='<td>'+val.xx+'</td>';
                    str+='<td>'+val.man+'</td>';
                    str+='<td>'+val.time+'</td>';
                    str+="<td><a href='javascript:void(0)' class='del'>删除</a></td>";
                    str+='</tr>';
                    $('tbody').append(str);
                });
            }
        });
    });
    //批删
    $('.dels').click(function(){
        var sel =$("#sel").val();
        var cc =$("#cc").val();
        var page =$("#page").val();
        var str='';
        $(":checkbox").each(function(){
            if($(this).prop("checked"))
            {
                str+=','+$(this).val();
            }

        });
        var ids = str.substr(1);
        $.ajax({
            type: "GET",
            url: "{:url('index/dels')}",
            data: {
                page:page,
                sel:sel,
                cc:cc,
                ids:ids
            },
            success: function(msg){
                if(msg==false)
                {
                    return false;
                }
                var json = jQuery.parseJSON(msg);
                $('tbody').html('');
                $("#page").val(page);
                $(json).each(function(key,val){
                    var str='<tr id='+val.id+'>';
                    str+='<td><input type="checkbox" name="box" value="'+val.id+'" ></td>';
                    str+='<td>'+val.id+'</td>';
                    str+="<td><img src='__STATIC__/uploads/"+val.photo+"' style='width: 100px;height: 70px;'></td>";
                    str+='<td>'+val.name+'</td>';
                    str+='<td>'+val.xx+'</td>';
                    str+='<td>'+val.man+'</td>';
                    str+='<td>'+val.time+'</td>';
                    str+="<td><a href='javascript:void(0)' class='del'>删除</a></td>";
                    str+='</tr>';
                    $('tbody').append(str);
                });
            }
        });
    });
    //单删
    $(document).on('click','.del',function(){
        var sel =$("#sel").val();
        var cc =$("#cc").val();
        var page =$("#page").val();
        var ids = $(this).parents('tr').attr('id');
        $.ajax({
            type: "GET",
            url: "{:url('index/dels')}",
            data: {
                page:page,
                sel:sel,
                cc:cc,
                ids:ids
            },
            success: function(msg){
                if(msg==false)
                {
                    return false;
                }
                var json = jQuery.parseJSON(msg);
                $('tbody').html('');
                $("#page").val(page);
                $(json).each(function(key,val){
                    var str='<tr id='+val.id+'>';
                    str+='<td><input type="checkbox" name="box" value="'+val.id+'" ></td>';
                    str+='<td>'+val.id+'</td>';
                    str+="<td><img src='__STATIC__/uploads/"+val.photo+"' style='width: 100px;height: 70px;'></td>";
                    str+='<td>'+val.name+'</td>';
                    str+='<td>'+val.xx+'</td>';
                    str+='<td>'+val.man+'</td>';
                    str+='<td>'+val.time+'</td>';
                    str+="<td><a href='javascript:void(0)' class='del'>删除</a></td>";
                    str+='</tr>';
                    $('tbody').append(str);
                });
            }
        });
    });
</script>

控制器 

<?php
namespace app\index\controller;
use app\index\model\Collage;
use app\index\model\Username;
use app\index\model\Major;
use think\Controller;
use think\Request;

class Index extends Controller
{
    //登录
    public function login()
    {
       return view('login');
    }
   //判断登录
    public function code()
    {
        $name=input('post.name');
        $pwd=input('post.pwd');
        $code=input('post.code');
        if(!captcha_check($code)){
             $this->error('验证码错误');
        };
        $user = new Username();
        $res=$user->sel($name,$pwd);
        if($res)
        {
            $this->success('登录成功','add');
        }
        else
        {
            $this->error('登录失败,用户不存在');
        }
    }

    //添加
    public function add()
    {
        if(Request::instance()->isGet())
        {
            $user = new Collage();
            $res = $user->sel();
            return view('add',['arr'=>$res]);
        }
        else
        {
           $file = request()->file('image');
           $info = $file->move(ROOT_PATH . 'public/static' . DS . 'uploads');
           if($info){
               $path =$info->getSaveName();
           }else{
                echo $file->getError();
           }

            $user = new Major();
            $arr = input('post.');
            $arr['photo']=$path;
            $arr['time']=date("Y-m-d H:i:s");
            $res =$user->add1($arr);
            if($res)
            {
                $this->success('添加成功','show');
            }
            else
            {
                $this->error('添加失败');
            }
        }
    }

    //展示
    public function show()
    {
        $user = new Collage();
        $school = new Major();
        $limit=4;
        $start=0;
        $data=$user->sel();
        $res = $school->sel($start,$limit);
        return view('show',['arr'=>$res,'data'=>$data]);
    }

    //分页
    public function fenye($page='')
    {
        $user = new Collage();
        $coll = new Major();
        if($page=='')
        {
            $page=$_GET['page'];
        }
        $sel=$_GET['sel'];
        $cc=$_GET['cc'];
        $count = $coll->page_count($sel,$cc);
        $limit=4;
        $numpage=ceil($count/$limit);
        $start=($page-1)*$limit;
        if($page<1)
        {
            echo 1;
            return false;
        }
       if($page>$numpage)
        {
            echo 1;
            return false;
        }
        $user->sel();
        $res = $coll->sel($start,$limit,$sel,$cc);
        return json_encode($res);
    }

   //批删
    public function dels()
    {
        $coll = new Major();
        //接值
        $page=$_GET['page'];
        $ids=$_GET['ids'];
        //删除
        $coll->del($ids);
        //返回
        return $this->fenye($page);
    }

}

模板

collage

<?php
namespace app\index\model;
use think\Model;
class Collage extends Model
{
   public function sel()
   {
       return $this->select();
   }
}
 
 
major
<?php
namespace app\index\model;
use think\Model;
class Major extends Model
{
    //添加
    public function add1($arr)
    {
        return $this->insert($arr);
    }

    //展示  两表联查
    public function sel($start,$limit,$sel='',$cc='')
    {
        return $this->whereLike('collage',"%$cc%")->whereLike('name',"%$sel%")->join('collage','major.collage=collage.c_id')->limit($start,$limit)->select();
    }

    //总数据
    public function page_count($sel='',$cc='')
    {
        return $this->whereLike('collage',"%$cc%")->whereLike('name',"%$sel%")->count();
    }

    //批删
    public function del($ids)
    {
        return $this->whereIn('id',$ids)->delete();
    }
}
 

username

<?php
namespace app\index\model;
use think\Model;
class Username extends Model
{
    public function sel($name,$pwd)
    {
        return $this->where("name='$name' && pwd='$pwd'")->select();
    }
}

 

猜你喜欢

转载自blog.csdn.net/baiyawen1/article/details/80982936