知识点:
1.select
a提交后 返回选中项
选中项 value是id 但是要显示name
b遍历和列举两种形式
<select name="class_id" class="left">
<option value="">不限</option>
<volist name="advertise_class" id="vo">
<eq name="vo.id" value="$map.class_id">
<option value="{$vo.id}" selected >{$vo.name}</option>
<else />
<option value="{$vo.id}" >{$vo.name}</option>
</eq>
</volist>
</select>
<select name="sex" class="pull-left">
<option value="">不限</option>
<option value="1" <?php if($map[\'sex\'] == \'1\'):?>selected="selected"<?php endif;?> >男</option>
<option value="0" <?php if($map[\'sex\'] == \'0\'):?>selected="selected"<?php endif;?> >女</option>
</select>
2 分页 两种实现方式
方式二
//总页数
$total = $this->adminObj->where($where)->count();
$Page = new \Think\Pages($total, 10);
$data = $this->adminObj->where($where)->limit($Page->first, $Page->listRows)->order(\'id desc\')->select();
$this->assign(\'page\', $Page->show());
3 连表查询,把id转为name
4时间插件的使用
前台代码
<extend name="Public/base" />
{// 导航}
<block name="breadcrumb">
<li class="active">求职者管理</li>
</block>
{// 左侧菜单}
<block name="sidebar">
<include file="Public/sidebar" nav="jobSeeker"/>
</block>
{// 主体}
<block name="main">
<div class="row-fluid">
<h3 class="header blue lighter smaller">
<form action="{:U(\'Admin/JobSeeker/index\')}" method="get">
<div class="row-fluid dataTables_wrapper">
<!--<div class="span4">-->
<!--<a class="btn btn-primary btn-small" href="{:U(\'Admin/JobSeeker/add\')}" target="_blank"><i class="icon-plus"></i>添加</a>-->
<!--</div>-->
<div class="grid_conent" id="m_search_div">
<div class="grid">
<label class="control-label pull-left">用户名:</label>
<input name="username" value="{$map.username}" type="text" id="search_name" class="pull-left" />
</div>
<div class="grid">
<label class="control-label pull-left">地点:</label>
<select name="address" class="pull-left">
<option value="">不限</option>
<volist name="city_class" id="vo">
<eq name="vo.id" value="$map.address">
<option value="{$vo.id}" selected >{$vo.name}</option>
<else />
<option value="{$vo.id}" >{$vo.name}</option>
</eq>
</volist>
</select>
</div>
<div class="grid" style=" width: auto;">
<label class="control-label pull-left">性别:</label>
<select name="sex" class="pull-left">
<option value="">不限</option>
<option value="1" <?php if($map[\'sex\'] == \'1\'):?>selected="selected"<?php endif;?> >男</option>
<option value="0" <?php if($map[\'sex\'] == \'0\'):?>selected="selected"<?php endif;?> >女</option>
</select>
</div>
<div style="width:auto; float: right; "><button type="submit" class="btn btn-primary btn-small pull-left" id="search_submit"><i ></i>搜索</button></div>
<div class="grid_data" style="margin: 0px 0px 0px 13px;">
<input type="text" name="datetimeEnd" id="datetimeEnd" value="{$map.datetimeEnd}" placeholder="请选择结束日期" class="pull-right" />
<input type="text" name="datetimeStart" id="datetimeStart" value="{$map.datetimeStart}" placeholder="请选择开始日期" class="pull-right" />
<label class="control-label pull-right">日期:</label>
</div>
</div>
</div>
</form>
</h3>
<div class="table-header">求职者管理</div>
<div class="dataTables_wrapper" role="grid">
<table id="user_table" class="table table-striped table-bordered table-hover" style="margin-bottom:0px;">
<thead>
<tr>
<th class="center">
<label>
<input type="checkbox" class="ace" />
<span class="lbl"></span>
</label>
</th>
<th>用户名</th>
<th>姓名</th>
<th>性别</th>
<th>email</th>
<th>地点</th>
<th>推荐人才</th>
<th>热门人才</th>
<th>顶级人才</th>
<th>注册时间</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<foreach name="data" item="value">
<tr>
<td class="center">
<label>
<input type="checkbox" class="ace" />
<span class="lbl"></span>
</label>
</td>
<td>{$value.username}</td>
<td>{$value.name}</td>
<td><if condition="$value.sex eq 0">女<elseif condition="$value.sex eq 1"/>男</if></td>
<td>{$value.email}</td>
<td>{$value.address}</td>
<td> <a href="javascript:;" onclick="$.recommend_change(\'{:U(\'Admin/JobSeeker/recommend_change\', array(\'id\'=>$value[\'id\'],\'recommend\'=>$value[\'recommend\']))}\');" class="green"><eq name="value.recommend" value="0"><img src="__PUBLIC__/HomeStyle/images/img/no.png"/><else/><img src="__PUBLIC__/HomeStyle/images/img/yes.png"/></eq> </a></td>
<td> <a href="javascript:;" onclick="$.hot_change(\'{:U(\'Admin/JobSeeker/hot_change\', array(\'id\'=>$value[\'id\'],\'hot\'=>$value[\'hot\']))}\');"><eq name="value.hot" value="0"><img src="__PUBLIC__/HomeStyle/images/img/no.png"/><else/><img src="__PUBLIC__/HomeStyle/images/img/yes.png"/></eq> </a></td>
<td> <a href="javascript:;" onclick="$.top_change(\'{:U(\'Admin/JobSeeker/top_change\', array(\'id\'=>$value[\'id\'],\'top\'=>$value[\'top\']))}\');"><eq name="value.top" value="0"><img src="__PUBLIC__/HomeStyle/images/img/no.png"/><else/><img src="__PUBLIC__/HomeStyle/images/img/yes.png"/></eq> </a></td>
<td>{$value.create_time|date=\'Y-m-d\',###}</td>
<td>
<div class="hidden-phone visible-desktop action-buttons">
<!--<a href="{:U(\'Admin/JobSeeker/edit\', array(\'id\'=>$value[\'id\']))}" class="green" data-rel="tooltip" data-original-title="修改">-->
<!--<i class="icon-pencil bigger-130"></i>-->
<!--</a>-->
<a href="javascript:;" onclick="$.del(\'{:U(\'Admin/JobSeeker/del\', array(\'id\'=>$value[\'id\']))}\');" class="red" data-rel="tooltip" data-original-title="删除">
<i class="icon-trash bigger-130"></i>
</a>
</div>
</td>
</tr>
</foreach>
</tbody>
</table>
<!-- 分页 -->
<div class="row-fluid">
<div class="page">{$page}</div>
</div>
</div>
</div>
<p>推荐职位或热门职位√表示是,×表示否,点击取反。</p>
</block>
{// js}
<block name="js">
<link rel="stylesheet" href="__PUBLIC__/Assets/css/datepicker.css">
<script src="__PUBLIC__/Assets/js/date-time/bootstrap-datepicker.min.js"></script>
<script src="__PUBLIC__/Assets/js/date-time/locales/bootstrap-datepicker.zh-CN.js"></script>
<script type="text/javascript">
//通过id选择器
$("#datetimeStart").datepicker({
format: \'yyyy-mm-dd\',//格式
language: \'zh-CN\',//语言
autoclose:true //选择后自动隐藏日历框
});
$("#datetimeEnd").datepicker({
format: \'yyyy-mm-dd\',
language: \'zh-CN\',
autoclose:true
});
</script>
<script type="text/javascript">
jQuery(function($) {
// 全选框
$(\'table th input:checkbox\').on(\'click\' , function(){
var that = this;
$(this).closest(\'table\').find(\'tr > td:first-child input:checkbox\')
.each(function(){
this.checked = that.checked;
$(this).closest(\'tr\').toggleClass(\'selected\');
});
});
$.extend({
action : function(url, obj)
{
var obj = $(obj).parents(\'form\');
$.ajax({
url : url,
type : \'get\',
data : obj.serialize(),
success : function(res)
{
$.lagou.alert(res.msg, res.code, 2);
$.lagou.formHide();
location.reload();
}
});
},
//删除
del : function(url)
{
$.lagou.confirm(\'确认删除么\', function(res){
if (res) {
$.get(url, function(response){
$.lagou.alert(response.msg, response.code, 2);
location.reload();
});
}
});
},
//推荐人才改变事件
recommend_change : function(url)
{
$.get(url, function(response){
$.lagou.alert(response.msg, response.code, 2);
location.reload();
});
},
//热门人才改变事件
hot_change : function(url)
{
$.get(url, function(response){
$.lagou.alert(response.msg, response.code,2);
location.reload();
});
},
//顶级人才改变事件
top_change : function(url)
{
$.get(url, function(response){
$.lagou.alert(response.msg, response.code,2);
location.reload();
});
}
});
})
</script>
</block>
后台代码
<?php
/**求职者管理
* Created by PhpStorm.
* User: Administrator
* Date: 2017/4/27
* Time: 13:58
*/
namespace Admin\Controller;
class JobSeekerController extends BaseController {
protected $usersModel = null;
protected $cityModel=null;
public function __construct()
{
parent::__construct();
$this->usersModel = M(\'Users\');
//下拉列表
$this->cityModel=M(\'CityCategory\');
}
public function index()
{
// //获取页面中所有name标签的内容
// $map=I();
// //移除$map中所有可以转为false的值,如:false,0,‘0’,arrary(),null,\'\',
// $a=$map;//array_filter($map);
$a=I();
///搜索条件
//用户名
if(!empty($a[\'username\'])){
$where[\'username\']=array(\'LIKE\',\'%\'.$a[\'username\'].\'%\');
}
//地点
if(!empty($a[\'address\'])){
$where[\'address\']=array(\'EQ\',$a[\'address\']);
}
//性别
if($a[\'sex\']!=""){
$where[\'sex\']=array(\'EQ\',$a[\'sex\']);
}
//起止时间
if(!empty($a[\'datetimeStart\'])|| !empty($a[\'datetimeEnd\'])){
$start= strtotime($a[\'datetimeStart\']);
$end= strtotime($a[\'datetimeEnd\']);
$where[\'create_time\']=array(array(\'egt\',$start),array(\'elt\',$end),\'and\');
//var_dump($where[\'create_time\']);
}
//分页
$total=$this->usersModel->where($where)->count();
$Page= new \Think\Pages($total,10);
$Page->setConfig(\'first\',\'首页\');
$Page->setConfig(\'prev\',\'上一页\');
$Page->setConfig(\'next\',\'下一页\');
$Page->setConfig(\'last\',\'尾页\');
$show = $Page->show();
//搜索结果
$data=$this->usersModel->where($where)->page(I(\'get.p\',1),10)->order(\'create_time desc\')->join(\'as u left join lg_city_category as city on u.address=city.id \')->field(\'u.id,u.username,u.name,u.sex,u.email,u.recommend,u.hot,u.top,u.create_time,city.name as address\')->select();
//加载下拉列表
$city_category=$this->cityModel->select();
//输出到模板
//下拉列表
$this->assign(\'city_class\',$city_category);
//其他
$this->assign(\'map\',$a);
$this->assign(\'page\',$show);
$this->assign(\'data\', $data);
$this->display();
}
public function details()
{
$data[\'id\'] = I(\'get.id\');
$users = $this->usersModel->where($data)->find();
$cate = Category::getInstance();
$type = $cate->getParent($users[\'name\']);
// $company = $this->comObj->where(array(\'id\'=>$this->uid))->find();
$this->assign(\'category\', $cate->mCategory);
$this->assign(\'users\', $users);
$this->assign(\'type\', $type);
// $this->assign(\'company\', $company);
$this->display();
}
public function del(){
$id = I(\'get.id\');
// $id = $_GET[\'id\']; //同上
$rs = $this->usersModel->where(\'id=\'.$id)->delete();
if ($rs==0||$rs===false) {
$msg[\'code\'] = 0;
$msg[\'msg\'] = \'删除失败\';
} else {
$msg[\'code\'] = 1;
$msg[\'msg\'] = \'删除成功\';
}
$this->ajaxReturn($msg);
}
//推荐人才改变事件,如果是则改为否,否则改为是
public function recommend_change()
{
if (IS_AJAX) {
$id = I(\'get.id\');
$recommend = I(\'get.recommend\');
if ($recommend == 0) {
$data[\'recommend\'] = 1;
} else {
$data[\'recommend\'] = 0;
}
$res = $this->usersModel->where(\'id=\' . $id)->save($data);
if ($res === false) {
$msg[\'code\'] = 0;
$msg[\'msg\'] = \'操作失败 \';
} else {
$msg[\'code\'] = 1;
$msg[\'msg\'] = \'操作成功\';
}
$this->ajaxReturn($msg);
}
}
//热门人才改变事件,如果是则改为否,否则改为是
public function hot_change(){
if(IS_AJAX){
$id = I(\'get.id\');
$recommend=I(\'get.hot\');
if ($recommend==0){
$data[\'hot\']=1;
}else{
$data[\'hot\']=0;
}
$res = $this->usersModel->where(\'id=\'.$id)->save($data);
if($res===false){
$msg[\'code\'] = 0;
$msg[\'msg\'] = \'操作失败\';
}else{
$msg[\'code\'] = 1;
$msg[\'msg\'] = \'操作成功\';
}
$this->ajaxReturn($msg);
}
}
//顶级人才改变事件,如果是则改为否,否则改为是
public function top_change(){
$id = I(\'get.id\');
$top=I(\'get.top\');
if ($top==0){
$data[\'top\']=1;
}else{
$data[\'top\']=0;
}
$res = $this->usersModel->where(\'id=\'.$id)->save($data);
if($res===false){
$msg[\'code\'] = 0;
$msg[\'msg\'] = \'操作失败\';
}else{
$msg[\'code\'] = 1;
$msg[\'msg\'] = \'操作成功\';
}
$this->ajaxReturn($msg);
}
}