列表渲染databale
1. 首先在渲染列表页面 当压面加载时然后发送ajax请求到后台哪去参数
// <!--第三步:初始化Datatables--> $(document).ready( function () { $('#table_id_example').DataTable({ serverSide:true, "ajax": " http://localhost/2.23zuoye/public/index.php/index/index/indexs", "columns": [ {"data": "id"}, {"data": "title"}, {"data": "name"}, {"data": "desn"}, ] });
// 删除
datatable.on('draw',function () {
// 删除按钮点击事件
$('.label-danger').click(function () {
// 获取id值
var id=$(this).parent().prev().prev().prev().prev().text();
// var urls=$(this).attr('href');
// var url= urls+"/"+id;
$.ajax({
url:"{{route('admin.delete')}}",
type:"POST",
data:{
id:id,
'_token':"{{csrf_token()}}"
}
}).then(({success,msg})=>{
layer.msg('删除成功..', {icon:1},()=>{
// 刷新
location.reload();
});
});
return false;
})
}) } );
2.后台接收到参数根据 然后根据查询到的返回参数
public function indexs(Request $request){ // $data=Db::table('zfw_articles')->select(); // 获取到分页开始的位置 $start=$request->get('start'); // 获取到分页结束的位置 $length=$request->get('length'); // 获取到搜索的条件 $search=$request->get('search.value'); // Illuminate\Support\Facades\Redis $data=Db::table('zfw_articles')->where('title','like',"%$search%")->limit($start,$length)->select(); // 查询出来的数据存入redis里面
// 当服务器性能达到极致的时候,可以使用服务器集群进行提高网站的整体性能,那么在服务器集群中, 有一台服务器充当调度者的角色,用户的所以请求都由他来接受,调度者根据每台服务器的情况进行请求分配服务器处理
// 前端
Cache::store('redis')->set('data',$data);
// 取出redis里存储的搜索条件
Cache::get('data');
foreach ($data as $key=>&$val){
$val['title'] =str_replace($search, "<font style='color: #ff0000'>$search</font>",$val['title']);
}
return json(['code'=>200,'msg'=>'查询成功','data'=>$data]);
}
3.实现exel的导入导出
public function excel() { //导出 //########################################################################## $list = Db::name("book")->select(); $file_name = date('Y-m-d_His') . '.xls'; $path = dirname(__FILE__); Loader::import('PHPExcel.Classes.PHPExcel'); Loader::import('PHPExcel.Classes.PHPExcel.IOFactory.PHPExcel_IOFactory'); // 伪静态,防掉链处理,减少http请求 数据库 表的设计,存储引擎,字段的设置,分库分表,sql查询优化 $PHPExcel = new \PHPExcel(); // print_r($PHPExcel);die; $PHPSheet = $PHPExcel->getActiveSheet(); $PHPSheet->setTitle("品牌"); $PHPSheet->setCellValue("A1", "ID"); $PHPSheet->setCellValue("B1", "品牌名称"); $PHPSheet->setCellValue("C1", "品牌内容"); $PHPSheet->setCellValue("D1", "编号"); $i = 2; foreach ($list as $key => $value) { $PHPSheet->setCellValue('A' . $i, '' . $value['id']); $PHPSheet->setCellValue('B' . $i, '' . $value['name']); $PHPSheet->setCellValue('C' . $i, '' . $value['text']); $PHPSheet->setCellValue('D' . $i, '' . $value['srot']); $i++; } $PHPWriter = \PHPExcel_IOFactory::createWriter($PHPExcel, "Excel2007"); header('Content-Disposition: attachment;filename=' . $file_name); header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); $PHPWriter->save("php://output"); } public function insert_excel() { Loader::import('PHPExcel.Classes.PHPExcel'); Loader::import('PHPExcel.Classes.PHPExcel.IOFactory.PHPExcel_IOFactory'); Loader::import('PHPExcel.Classes.PHPExcel.Reader.Excel5'); $PHPExcel = new \PHPExcel(); //获取表单上传文件 $file = request()->file('excel'); // echo function_exists($connect->validate);die; $info = $file->move(ROOT_PATH . 'public' . DS . 'excel'); if ($info) { $exclePath = $info->getSaveName(); //获取文件名 $file_name = ROOT_PATH . 'public' . DS . 'excel' . DS . $exclePath; //上传文件的地址 $objReader =\PHPExcel_IOFactory::createReader('Excel2007'); $obj_PHPExcel =$objReader->load($file_name, $encode = 'utf-8'); //加载文件内容,编码utf-8 $excel_array=$obj_PHPExcel->getsheet(0)->toArray(); // print_r($excel_array);die; //转换为数组格式 array_shift($excel_array); //删除第一个数组(标题); $city = []; $error_infos = []; $login_info = []; $i=0; // $j=2; foreach($excel_array as $k=>$v) { $sn = Db::name('bookst')->where('id',$v[0])->find(); if ($sn) { $j = $k+2; $error_infos[$k] = "第{$j}条代理商编号已存在"; $i++; continue; } $city[$k]['id'] = $v[0]; $city[$k]['name'] = $v[1]; $city[$k]['text'] = $v[2]; $city[$k]['srot'] = $v[3]; $i++; } // print_r($city);die; $success = Db::name('bookst')->insertAll($city); $error=$i-$success; $error_infos['msg'] = "总{$i}条,成功{$success}条,失败{$error}条。"; if ($i > 0 && $success > 0) { $this->success('导入成功'); }else{ $this->error('导入失败'); } //批量插入数据 } else { echo $file->getError(); } }
4.小程序获取
public function lists(){ // code值 $code=input('code'); // 用户名 $name=input('name'); // appid $appid="wxeb284243ebf4674f"; // 秘钥 $secret="e3e7a8ef60ee32842ef1e6313ebadfb0"; $lot="https://api.weixin.qq.com/sns/jscode2session?appid=$appid&secret=$secret&js_code=$code&grant_type=authorization_code"; $lots=json_decode(file_get_contents($lot),true); $kot=[ 'name'=>$name, 'appid'=>$lots['openid'], 'session_key'=>$lots['session_key'], ]; // 查询该用户是否存在 $bet=Db::table('lots')->where('appid',$lots['openid'])->find(); if ($bet){ return json(['data'=>$bet,'msg'=>'success','code'=>200]); } if (Db::table('lots')->insert($kot,true)){ // 获取刚刚插入的id $kot['id']=Db::getLastInsID(); return json(['data'=>$kot,'msg'=>'success','code'=>200]); }else{ return json(['data'=>$kot,'msg'=>'success','code'=>400]); } // dump($lots); }
又拍云
$serviceName = 'jerry-min'; //操作员账号 $operator = 'jerry'; //操作员密码 $password = 'kqYcQma8K5FGDyX9NLM6gyYohcePRdWD'; //要上传到哪个目录下 $directory = 'text/' . rand(1,10) . '.test.upcdn.net'; //要上传的文件的绝对路径(请换成你电脑上一个图片文件的路径) $uploadFilePath = "./uploads/".$data; //使用又拍云php-sdk上传文件非常方便,很new一个config对象 $serviceConfig = new Config($serviceName, $operator, $password); $client = new Upyun($serviceConfig); $fp = fopen($uploadFilePath, 'r'); $client->write($directory ,$fp);
七牛云
$ak="i823JQs3EZMXhqg3LBlOTwDD5iqVZXZmqLsCUqIs"; $sk="uSVT59ZIn7hOHJV-UcLo4W-A5pQaREDirR_F7JnF"; $uploadMgr = new UploadManager(); $auth = new Auth($ak,$sk); $token = $auth->uploadToken('jmin'); list($ret, $error) = $uploadMgr->putFile($token, time(), '.'.$data);

浙公网安备 33010602011771号