TP5 layui.table 完整数据表格 查询带参数

一、完整例子


				

  
  
  课程(科目)管理-报名表-应用中心
	
	
	
	



{empty name="id"}

{$rs['title']}

    {volist name="res" id="v"}
  • {$v['title']}

    {if condition="$v['child'] neq ''"} {volist name="v.child" id="v2"}

    {$v2['title']}

    {/volist} {/if}
  • {/volist}
{/empty} {empty name="id"}
{else /}
{/empty}
    	$where = new Where;
		$sotitle=input('sotitle');
        $category=input('category');
	        if($category){
	          	$category_select="'".$category."'";
	        }
	        $this->assign('category_select',$category_select);
	        
		$action=input('action');
		$sotype=input('sotype');
		$page=input('page');//页数
		$field=input('field');//字段
		$order=input('order');//排序方式
		$limit=input('limit');
		$limit=$limit?$limit:10;
		$this->assign('sotype',$sotype);
		$this->assign('sotitle',$sotitle);
		$this->assign('limit',$limit);
			
		if($action=='datatable'){
			if($sotitle){
				//模糊查询
			    if($sotype=="title" || $sotype==""){
//			        $where = [  
//			                ['title', 'like', "%".$sotitle."%"],  
//			            ]; 
                        $where['title'] = ['like', "%".$sotitle."%"]; 
			    }else{  
			            $where[$sotype] = $sotitle;
			    }  
			  
			}
			//排序
				if($field){
					$od=$field." ".$order;
				}else{
					$od="id desc";
				}
			if($category){
				$where[] = ['exp',Db::raw("FIND_IN_SET('$category',category)")];
			}else{
				$where['deleted'] = 0;//显示正常数据,不显示回收站数据
			}
			$where['deleted'] = 0;
	        $list=Db::name('products')->field('id,title,time')->where($where)->order($od)->limit($limit)->page($page)->select();
	        $rs1=Db::name('product')->field('id')->where($where)->count();
	        
	        json(0,'数据返回成功',$rs1,$list);

		}

标题修改控制器代码

    	$id=input('id');
   		$action=input('action');
		//ajax 更新标题
 			if($action=="ajax_update" && $id){//更新字段值
 				
 				    $field=input('field');
 				    $title=input('title');

						//判断是否重复
							$where1[$field] = $title;
							$where1['deleted'] = 0;//状态 0正常 1回收站
							$checkRepeat=checkRepeat('class',$where1,0,'');
							if($checkRepeat>0){
								$this->error('错误:已经存在');
							}
			 		//$field=$field=="name"?"title":$field;//当字段是name是要转换成数据库对应的字段title
					$rsj=Db::name('product')->where('id', $id)->update([$field => $title]);
					
					if($rsj){
						$arr['code']=1;
						$arr['msg']="更新成功";
						$arr['title']=$title;
						 //$se="更新成功";
					}else{
						$arr['code']=2;
						$arr['msg']="更新失败";
						$arr['title']=$title;
					}
					return $arr;die;
 			}

 

二、简单例子

例子:


				

  
  
  查看缺勤学生
	
	




控制器:

		$action=input('action');
		$sotitle=input('sotitle');
		$sotype=input('sotype');
		$limit=input('limit');
		$limit=$limit?$limit:1;
		$this->assign('sotype',$sotype);
		$this->assign('sotitle',$sotitle);
		$this->assign('limit',$limit);
if($action=="datatable"){

                    $field=input('field');//字段
					$order=input('order');//排序方式
	    		
					//排序
					if($field){
						$od=$field." ".$order;
					}else{
						$od="id desc";
					}
					
			        if($sotitle){
			                $where['title'] = ['like', "%".$sotitle."%"];
			        }
					
	    		    $where['deleted'] = 0;//状态 0正常 1回收站
					$rsu=Db::name('comment')->where($where)->where('pid',$id)->order($od)->limit($limit)->page($page)->select();
					$rsu1=Db::name('comment')->where($where)->where('pid',$id)->select();
 
					$count = count($rsu1);//取得记录集总条数
					json(0,'数据返回成功',$count,$rsu); 
	    		    return $data;
}

 

 

 

你可能感兴趣的:(thinkphp5,layui插件)