lavarel  curl   Ajax增删改查

控制器 liveController

<?phpnamespace App\Http\Controllers;
use App\live_lognModel;
use App\liveModel;
use Illuminate\Support\Facades\DB;
use QL\QueryList;
use Illuminate\Http\Request;class liveController extends Controller
{//采集数据入库public function add(){$url = 'https://www.huya.com/majiajia';// 定义采集规则$rules = ['title' => ['h3','text'],'home' => ['#J_roomTitle','title'],'img' => ['#avatar-img','src'],'status'=>['#J_profileNoticeText','text'],'text'=>['.host-video','href']];$rt = QueryList::get($url)->rules($rules)->query()->getData();$live = $rt->all();$live['title']=$rt['title'];$live['home']=$rt['home'];$live['img']=$rt['img'];$live['status']=$rt['status'];$live['text'] = $rt['text'];$data = liveModel::add($live);if ($data){return "添加成功";}else{return "添加失败";}}//展示列表,根据主播名搜索public function show(Request $request){$where = [];if ($request['title']){$where['title'] = $request['title'];}$data = liveModel::show($where);return view('live.show',['data'=>$data,'where'=>$where]);}//批量删除public function dels(Request $request){$id = $request['id'];
//        print_r($id);$data = liveModel::del($id);if ($data){return json_encode(['state'=>0,'info'=>'删除成功','data'=>'']);}else{return json_encode(['state'=>1,'info'=>'删除失败','data'=>'']);}}//删除
//    public function del($id){
//        $data = new liveModel();
//        $del = $data->find($id);
//        $delete = $del->delete();
//        if ($delete){
//            return redirect('liveShow');
//        }else{
//            return redirect('liveShow');
//        }
//    }//阅读量+1public function page(Request $request){$id = $request['id'];$data = liveModel::getnoe($id);$page = $data['page'];if ($data){$res = liveModel::up_page($id,['page'=>$page+1]);return redirect('live_desc');}else{die('没有数据');}}//修改状态public function upt(Request $request){$id = $request['id'];$data = liveModel::getnoe($id);if ($data['status']=='开启'){$data = liveModel::upt($id,['status'=>'禁用']);return json_encode(['status'=>202,'info'=>'修改成功','data'=>$data]);}else{$data = liveModel::upt($id,['status'=>'开启']);return json_encode(['status'=>200,'info'=>'修改成功','data'=>$data]);}}//根据状态判断删除public function del(Request $request){$id = $request['id'];$data = liveModel::getnoe($id);if ($data['status']=='开启'){return json_encode(['status'=>1,'info'=>'删除失败','data'=>'']);}else{$data = liveModel::del($id);return json_encode(['status'=>0,'info'=>'删除成功','data'=>'']);}}//修改public function up($id,Request $request){$obj = liveModel::find($id);if ($request->isMethod('post')){$data = $request->all();if ($request['img']){$data['img']= $request->file('img')->store('images');}$res = liveModel::up($id);if ($res){return redirect('liveShow');}else{return redirect('liveUp');}}else{return view('live.up',['data'=>$obj]);}}//登录public function logn(Request $request){$data = $request->all();$res = live_lognModel::logn($data['name']);if ($data['name']==$res['name']){if ($data['pwd']==$res['pwd']){return redirect('liveShow');}else{return "<script>alert('密码错误');window.location.href='live_logn'</script>";}}else{return "<script>alert('用户名错误');window.location.href='live_logn'</script>";}}
}

模型 liveModel

<?phpnamespace App;use Illuminate\Database\Eloquent\Model;class liveModel extends Model
{//protected $table = "live";public $timestamps = false;public static function add($live){return self::insert($live);}public static function show($where=[]){return self::where($where)->paginate(7);}//    public static function del($id){
//        return self::destroy($id);
//    }public static function getnoe($id){return self::where('id',$id)->first();}public static function up_page($id,$where){return self::where('id',$id)->update($where);}public static function upt($id,$where){return self::where('id',$id)->update($where);}public static function del($id){return self::where('id',$id)->delete();}public static function up($id){return self::where('id','=',$id)->first();}
}

模型 live_lognModel

<?phpnamespace App;use Illuminate\Database\Eloquent\Model;class live_lognModel extends Model
{//protected $table = "live_logn";public $timestamps = false;public static function logn($name){return self::where('name',$name)->first();}
}

视图层 live/show.blade.php

<!doctype html>
<html lang="en">
<head><meta charset="UTF-8"><!-- 最新版本的 Bootstrap 核心 CSS 文件 --><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous"><title>Document</title>
</head>
<body>
<form action=""><input type="text" name="title" placeholder="请根据关键字搜索"><input type="submit" value="搜索"><button id="batch">批量删除</button>
</form>
<table  class="table"><tr class="info"><th>选择</th><th>序号</th><th>主播名</th><th>房间名</th><th>主播头像</th><th>动态</th><th>连接地址</th><th>阅览量</th><th>状态</th><th>操作</th></tr>@foreach($data as $key)<tr class="danger"><td><input type="checkbox" checkid="{{$key['id']}}" name="check"></td><td>{{$key['id']}}</td><td align="left"><a href="livePage?id={{$key['id']}}" >{{$key['title']}}</a></td><td>{{$key['home']}}</td><td><img src="{{$key['img']}}" width="60px" height="60px"></td><td>{{$key['status']}}</td><td><a href="{{$key['text']}}">{{$key['text']}}</a></td><td>{{$key['page']}}</td><td><button class="status" t_id="{{$key['id']}}">{{$key['state']}}</button></td><td><button class="del" d_id="{{$key['id']}}">删除</button><a href="{{url('liveUp')}}/{{$key['id']}}">修改</a></td></tr>@endforeach
</table>
{{ $data->withquerystring()->links() }}
</body>
</html>
<script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
<script>$('#batch').click(function () {var arr=[];var al = $("input[name='check']:checked").each(function () {arr.push($(this).attr("checkid"))})var id = arr$.get('liveDels',{id:id},function (res) {if (res.state==0){al.parent().parent().remove();}else{alert(res.info)}},'json')})$('.status').click(function () {let _this = $(this);let id = $(this).attr('t_id')$.get('liveUpt',{id:id},function (res) {if(res.status==200){_this.text('开启')}else{_this.text('禁用')}},'json')})$('.del').click(function () {let _this = $(this);let id = $(this).attr('d_id')$.get('liveDel',{id:id},function (res) {if(res.status!=0){alert('状态为正常,删除失败')}else{_this.parent().parent().remove()}},'json')})
</script>

视图层  live/up.blade.php

<!doctype html>
<html lang="en">
<head><meta charset="UTF-8"><!-- 最新版本的 Bootstrap 核心 CSS 文件 --><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous"><title>Document</title>
</head>
<body><form   action="{{url('liveUp')}}/{{$data->id}}" method="post" enctype="multipart/form-data" >@csrf<div class="form-group"><label >主播名</label><input type="text" class="form-control" name="title" value="{{$data->title}}"></div><div class="form-group"><label >房间名</label><input type="text" class="form-control" name="home" value="{{$data->home}}"></div><div class="form-group"><label>主播头像</label><input type="file" name="img"></div><div class="form-group"><label>动态</label><input type="text" class="form-control" name="status" value="{{$data->status}}"></div><div class="form-group"><label >连接地址</label><input type="text" class="form-control" name="text" value="{{$data->text}}"></div><button type="submit" class="btn btn-default">确认修改</button></form ></body>
</html>

路由

Route::get('liveAdd','liveController@add');
Route::get('liveShow','liveController@show');
Route::get('liveDel','liveController@del');
Route::get('liveDels','liveController@dels');
Route::get('livePage','liveController@page');
Route::view('live_desc','live.desc');
Route::get('liveUpt','liveController@upt');
Route::any('liveUp/{id}','liveController@Up');
Route::view('live_logn','live.logn');
Route::any('liveLogn','liveController@logn');

以上就是一整套增删改查(curl)登录 还有一点Ajax。

lavarel  curl   Ajax增删改查相关推荐

  1. php ajax 增删改查 分页,Jquery之Ajax_分页及增删改查

    一.UserInfoList.html代码 用户列表 添加用户 编号用户名密码邮箱时间删除详细编辑 用户名 密码 邮箱 用户名 密码 邮箱 用户名 密码 邮箱 二.UserList.ashx.cs代码 ...

  2. 后盾网lavarel视频项目---lavarel使用模型进行增删改查操作

    后盾网lavarel视频项目---lavarel使用模型进行增删改查操作 一.总结 一句话总结: 使用模型操作常用方法 查一条:$model=Tag::find($id); 删一条:Tag::dest ...

  3. datatables增删改查php,jQuery+datatables插件实现Ajax加载数据与增删改查功能示例_白峰_前端开发者...

    本文实例讲述了 这里给大家分享一下我在项目中用datatables实现ajax加载数据与增删改查 注意,需要引入  搜索  新增  编辑  删除 职业姓名性别爱好 //点击查找 $(" ...

  4. AJAX面试题:一个页面实现增删改查(ASP.NET实现)

    [下载] 很多asp.net程序员面试的时候都遇到过用ajax效果实现一个页面的增删改查.这几个例子分别用纯JS,JQUERY及JSON实现.希望对大家有些帮助. 这里面的例子表格内容的刷新是直接返回 ...

  5. 基于springmvc、ajax,后台连接数据库的增删改查

    前言 前段时间在博客园上找了一个springmvc的例子,照着学了一下,算是对springmvc有了一个初步的了解,打一个基础,下面是链接.(我只看了博客,视频太耗时间了) 博客链接:http://w ...

  6. ajax servlet增删改查,Servlet ajax 文件上传和JDBC+Servler用户表增删改查

    昨天晚上帮一个妹子,应该是大二或者大三的.解决了Servlet+JDBC实现用户表的增删改查功能,当时妹子遇到的问题是文件上传和日期格式处理不太会. 我让她把代码发我,我本地调试,结果发现坑很多,就是 ...

  7. node-red mysql的增删改查_通过curl或者http请求对elasticsearch中的数据进行增删改查...

    最近学习elasticsearch的数据存储,整体语法还是比较规则的.可以使用浏览器.postman.命令行等进行操作. elasticsearch官网的解释最官方,请查看下面的地址 1. 查询当前集 ...

  8. node ajax crud,基于node.js和rethinkdb的CRUD(增删改查)Web服务

    基于node.js和rethinkdb的CRUD(增删改查)Web服务 这是一个简单的REST web服务演示案例源码,使用Node.JS和Express 和RethinkDB,后者持久化JSON数据 ...

  9. mvc php 分页,MVC+jQuery.Ajax异步实现增删改查和分页_jquery

    本文实例为大家分享了MVC+jQuery.Ajax异步实现增删改查和分页的具体代码,供大家参考,具体内容如下 1.Model层代码 using System; using System.Data; u ...

最新文章

  1. Hive学习之路 (九)Hive的内置函数
  2. C程序的储存空间是如何分配?
  3. Android之如何成为Android高手
  4. 在 Windows 上测试 Redis Cluster的集群填坑笔记
  5. duilib消息机制的介绍
  6. 2017.7.27 bill的挑战 失败总结
  7. 如何快速安装kafka-manager
  8. PHP学习总结(10)——PHP入门篇之自定义网站根目录
  9. HDU3790 最短路径问题【Dijkstra算法】
  10. python基础教程-Python入门教程完整版(懂中文就能学会)
  11. 未找到uniwebview_unity内嵌浏览器——UniWebView插件
  12. 10.机器学习sklearn-------手写数字识别实例
  13. linux驱动程序启动失败,打开程序提示加载驱动失败?三种故障原因及解决方法...
  14. 百度API---详解
  15. doctrine安装和配置
  16. Understanding and Diagnosing Visual Tracking Systems
  17. 华为杭州研究所面试记
  18. 【游戏设计模式】之 《游戏编程模式》全书内容提炼总结
  19. 视频监控平台GB28181:媒体流保活机制
  20. 普元 AppServer 6.5 哑安装后执行启动命令./startup.sh后启动失败

热门文章

  1. 达梦触发器的作用与基本操作
  2. css3 placeholder 特效,css3如何设置placeholder的样式
  3. 分布式事务数据一致性解决方案(一)
  4. OpenSim功能教程:输出模型某个关节的位姿信息(世界坐标系下)
  5. 2023 ICPC Gran Premio de Mexico 1ra Fecha
  6. java实现一个随机迷宫_【小白学游戏常用算法】一、随机迷宫算法
  7. 又挽救了一个濒危物种
  8. android 进度条
  9. win11扩展卷灰色怎么办 windows11扩展卷灰色的解决方法
  10. 并发数、TPS、吞吐量、响应时间、每秒点击数等