laravel框架之增刪改查
<?php namespace App\Http\Controllers\admin; use Illuminate\Http\Request as request;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\DB; class UserController extends Controller
{
/**
* @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View|\think\response\View
* 渲染數據展示頁面
*/
public function showlist(request $request)
{
//設置頁數,從第一頁開始
$page = $request->post('page') ? $request->post('page') : 1;
//每頁顯示條數
$size = 3;
//查詢數據總條數
$count = count(DB::select("select * from week_type"));
//查詢數據總頁數
$end = ceil($count / $size);
//計算偏移量
$offset = ($page-1)*$size;
//查詢所欲數據
$data = DB::select("select * from week_type limit $offset,$size");
//傳送數據到後台
return view('admin.showlist',['data'=>$data,'end'=>$end,'count'=>$count]);
} /**
* @param request $request
* ajax分頁 & 搜索後分頁
*/
public function ajaxshowlist(request $request)
{
//根據分類名稱搜索接收值
$search = $request->post('search');
if (empty($search)){
//設置頁數,從第一頁開始
$page = $request->post('page') ? $request->post('page') : 1;
//每頁顯示條數
$size = 3;
//查詢數據總條數
$count = count(DB::select("select * from week_type"));
//查詢數據總頁數
$end = ceil($count / $size);
//計算偏移量
$offset = ($page-1)*$size;
//查詢所欲數據
$data = DB::select("select * from week_type limit $offset,$size");
//傳送數據到前台
return json_encode($data);
}else{
//設置頁數,從第一頁開始
$page = $request->post('page') ? $request->post('page') : 1;
//每頁顯示條數
$size = 3;
//查詢數據總條數
$count = count(DB::select("select * from week_type"));
//查詢數據總頁數
$end = ceil($count / $size);
//計算偏移量
$offset = ($page-1)*$size;
//查詢所欲數據
$data = DB::select("select * from week_type where type_name like '%$search%' limit $offset,$size");
//傳送數據到前台
return json_encode($data);
}
}
/**
* ajax 刪除
*/
public function ajax_del(request $request)
{
//接收id
$id = $request->get('id');
//刪除語句
$data = DB::delete("delete from week_type where id='$id'");
//刪除後查詢數據庫
if ($data){
DB::select("select * from week_type");
}
return 1;
}
}
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>展示頁面</title>
<link rel="stylesheet" href="{{asset('css/bootstrap.css')}}">
</head>
<body>
<center><h1>數據展示頁面</h1></center>
<input type="text" name="search" id="search"><input type="button" class="page" value="搜索">
<table class="table table-striped">
<tr>
<td>編號</td>
<td>分類</td>
<td>分類名稱</td>
<td>狀態</td>
<td>操作</td>
</tr>
<tbody id="tb">
@foreach($data as $key=>$val)
<tr>
<td>{{$val->id}}</td>
<td>{{$val->type}}</td>
<td>{{$val->type_name}}</td>
<td>{{$val->state}}</td>
<td><a href="#" id="{{$val->id}}" class="del">刪除</a></td>
</tr>
@endforeach
</tbody>
</table>
<input type="hidden" name="a_page" id="a_page" value="1">
<input type="hidden" name="last_page" id="last_page" value="{{$end}}">
<a href="javascript:void (0)" class="page">首頁</a>
<a href="javascript:void (0)" class="page">上一頁</a>
<a href="javascript:void (0)" class="page">下一頁</a>
<a href="javascript:void (0)" class="page">尾頁</a>
共{{$end}}頁
合計:{{$count}}條
</body>
</html>
<script src="../js/jquery-3.3.1.min.js"></script>
<script>
//ajax刪除
$(document).on("click",".del",function () {
var id = $(this).attr('id');
$.ajax({
url:"ajax_del",
type:"get",
dataType:"json",
data:{
id:id,
},
success:function (data) {
if (data==1){
alert("刪除成功")
location.href = "";
} else {
alert("刪除失敗")
}
}
})
})
//ajax分頁 & 搜索
$(document).on("click",".page",function () {
var search = $("#search").val();
var a_val = $(this).text();
var a_page = $("#a_page").val();
var last_page = $("#last_page").val();
if (a_val=="首頁"){
var page = 1;
} else if (a_val=="上一頁"){
var page = parseInt(a_page)-1 < 1 ? 1 : parseInt(a_page)-1;
} else if (a_val=="下一頁"){
var page = parseInt(a_page)+1 > last_page ? last_page : parseInt(a_page)+1;
} else if (a_val=="尾頁"){
var page = last_page;
}else {
var page = 1;
}
$.ajax({
url:"ajaxshowlist",
type:"post",
dataType:"json",
data:{
page:page,
search:search,
},
success:function (data) {
var str = "";
$.each(data,function (key,val) {
str+='<tr>'
str+='<td>'+val.id+'</td>'
str+='<td>'+val.type+'</td>'
str+='<td>'+val.type_name+'</td>'
str+='<td>'+val.state+'</td>'
str+='<td><a href="#" id="'+val.id+'" class="del">刪除</a></td>'
str+='</tr>'
})
$("#tb").html(str);
$("#a_page").val(page);
}
})
})
</script>
laravel框架之增刪改查的更多相关文章
- iOS FMDB的使用(增,删,改,查,sqlite存取图片)
iOS FMDB的使用(增,删,改,查,sqlite存取图片) 在上一篇博客我对sqlite的基本使用进行了详细介绍... 但是在实际开发中原生使用的频率是很少的... 这篇博客我将会较全面的介绍FM ...
- iOS sqlite3 的基本使用(增 删 改 查)
iOS sqlite3 的基本使用(增 删 改 查) 这篇博客不会讲述太多sql语言,目的重在实现sqlite3的一些基本操作. 例:增 删 改 查 如果想了解更多的sql语言可以利用强大的互联网. ...
- 好用的SQL TVP~~独家赠送[增-删-改-查]的例子
以前总是追求新东西,发现基础才是最重要的,今年主要的目标是精通SQL查询和SQL性能优化. 本系列主要是针对T-SQL的总结. [T-SQL基础]01.单表查询-几道sql查询题 [T-SQL基础] ...
- django ajax增 删 改 查
具于django ajax实现增 删 改 查功能 代码示例: 代码: urls.py from django.conf.urls import url from django.contrib impo ...
- ADO.NET 增 删 改 查
ADO.NET:(数据访问技术)就是将C#和MSSQL连接起来的一个纽带 可以通过ADO.NET将内存中的临时数据写入到数据库中 也可以将数据库中的数据提取到内存中供程序调用 ADO.NET所有数据访 ...
- MVC EF 增 删 改 查
using System;using System.Collections.Generic;using System.Linq;using System.Web;//using System.Data ...
- laravel框架简易增删(改)查
// 设置路由//展示表单页面Route::get('/week/add','weekController@add');//添加Route::post('/week/insert','weekCont ...
- laravel 框架简易增删改查
参看网址:http://www.yan.com/mou/add 图书增加HTML页面 //图书增加路由 Route::get('mou/add','MouController@store'); //控 ...
- 简单的php数据库操作类代码(增,删,改,查)
这几天准备重新学习,梳理一下知识体系,同时按照功能模块划分做一些东西.所以.mysql的操作成为第一个要点.我写了一个简单的mysql操作类,实现数据的简单的增删改查功能. 数据库操纵基本流程为: 1 ...
随机推荐
- electron打包成.exe后限制只启动一个应用
注意:这是2.x的文档 const {app} = require('electron') let myWindow = null const shouldQuit = app.makeSingleI ...
- Codeforces 988D Points and Powers of Two ( 思维 || 二的幂特点 )
题目链接 题意 : 给出坐标轴上的 n 个点的横坐标,要你选出最多的点,使得这些点两两距离是二的幂 ( 特殊情况 : 选出的集合只有一个点也满足条件 ) 分析 : 官方题解已经说的很好了 最关键是是判 ...
- latex beamer技巧
%章节标题\section{Related work(LSH)} %开始一页ppt \begin{frame}{Related work}{} \partitle{Locality-Sensitive ...
- 【转】Tarjan算法 资料合集
http://blog.csdn.net/fuyukai/article/details/51039788 Tarjan三大算法之双连通分量(割点,桥) Robert Endre Tarjan是一个美 ...
- springboot切换配置
1.默认只有一个application.properties文件 1)删除properties文件,换成yml方式.新增dev,prod两个文件 2)配置application.yml文件:actio ...
- Run nginx from Docker in Windows
1.首先, 使用 docker run hello-world 命令 确认 docker 在本地安装成功,若成功应如下所示(此处使用的是 Docker Toolbox 在Windows上安装Docke ...
- 用命令行编译运行java文件的乱码问题
之前在写的时候没有遇到过这个问题,用惯了eclipse之后突然用Notepad++就出现乱码了 我在编写的时候 指定Noepad++的编码是 UTF-8编码,然后进入命令行,编译的时候就出现了乱码 然 ...
- 第十一周java学习总结
目录 第十一周java学习总结 学习内容 学习总结 提交代码截图 代码推送 第十一周java学习总结 学习内容 第13章 Java网络编程 主要内容 URL类 InetAdress类 套接字 UDP数 ...
- JSON.stringify方法报错:Converting circular structure to JSON
别以为JSON.parse(JSON.stringify(data))做深拷贝无敌,对于以下这种情况,当你需要保留父级对象,即 对象存在循环引用,就会报错. var a = [ { "id& ...
- 阶段3 1.Mybatis_03.自定义Mybatis框架_3.自定义mybatis的编码-根据测试类中缺少的创建接口和类
先认识一下这几个类.Resources是一个class SqlSessionFactoryBuilder 创建新项目 复制相关的依赖 复制之前的代码 复制到当前项目的src下 把Mybits的依赖删除 ...