登录页面
<!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();
}
}