think php 上下架修改+jq静态批量删除+ajax删除+全选


视图代码:
<!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>Document</title>
<link rel="stylesheet" href="http://apps.bdimg.com/libs/bootstrap/3.3.0/css/bootstrap.min.css">
</head>
<body>
<form action="/homework/homework/index" method="get">
<input type="text" name="name" placeholder="请根据姓名进行搜索">
<input type="text" name="price" placeholder="请根据价格进行搜索">
<input type="submit" value="立即搜索">
</form>
<input type="button" value="批量删除" onclick="allDel()">
<table class="table">
<tr>
<td><input type="checkbox" id="allChecked"></td>
<td>商品名称</td>
<td>商品图片</td>
<td>商品分类</td>
<td>状态</td>
<td>商品库存</td>
<td>本店售价</td>
<td>操作</td>
</tr> {foreach $data as $k=>$v}
<tr id="del">
<td><input type="checkbox"></td>
<td>{$v.name}</td>
<td><img src="{$v.img}" alt=""></td>
<td>{$v.cate}</td>
<td>
{if $v.put==1}
<span onclick="upper({$v.id})" class="upper{$v.id}" put="1">上架</span>
{else}
<span onclick="upper({$v.id})" class="upper{$v.id}" put="2">下架</span>
{/if}
</td> <td>{$v.reserve}</td>
<td>{$v.price}</td>
<td>
<a href="{:url('homework/homework/edit',['id'=>$v.id])}">编辑</a>
<a href="javascript:void(0)" onclick="del({$v.id})">删除</a>
</td>
</tr>
{/foreach}
</table>
{$data->render()} </body>
</html>
<script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js">
</script>
<script>
function upper(id) {
// 1表示的上架 2 表示的下架
var put = $('.upper'+id).attr('put');//1
var text = $('.upper'+id).text();//上架
//判断
if (put == 1 ) {
put = 2;
text = '下架';
} else {
put = 1;
text = '上架';
}
$.ajax({
url: '/homework/homework/put',
type: 'POST',
data: {
id: id,
put: put,
},
dataType: 'JSON',
success:function (res){
console.log(res)
if (res.code==200){
$('.upper'+id).text(text);
$('.upper'+id).attr('put',put) }
} }) } //批量删除
function allDel() {
if (confirm('确定要删除吗?')) {
//获取选中的多选框
var checks = $(':checkbox:checked');
$(checks).each(function (k, v) {
$(v).parents('tr').remove();
})
}
} //全选
$("#allChecked").click(function () {
$(":checkbox").each(function (k, v) {
v['checked'] = true });
}) function del(id) {
$.ajax({
url: '/homework/homework/delete/id/' + id,
type: 'GET',
dataType: 'json',
success: function (res) {
if (res.code == 200) {
alert('删除成功');
$('#del').remove(); }
} })
} </script>
器代码:
<?php namespace app\homework\controller; use app\homework\model\HomeworkModel;
use think\Controller;
use think\Request; class Homework extends Controller
{
/**
* 显示资源列表
*
* @return \think\Response
*/
public function index()
{
//接受搜索关键字
$name = input('name');
$price=input('price');
$data = HomeworkModel::listInfo($name,$price);
if (!empty($name)){
foreach ($data as $k=>$v){
$v['name']=str_replace($name,"<font color='red'> $name</font>",$v['name']);
}
}
if (!empty($price)){
foreach ($data as $k=>$v){
$v['price']=str_replace($price,"<font color='red'> $price</font>",$v['price']);
}
}
$this->assign('data', $data);
return view();
} /**
* 显示创建资源表单页.
*
* @return \think\Response
*/
public function create()
{
//
return view();
} /**
* 保存新建的资源
*
* @param \think\Request $request
* @return \think\Response
*/
public function save(Request $request)
{
//
$params = $request->param();
$file = $request->file('img'); if ($file) {
$info = $file->move(ROOT_PATH . 'public' . DS . 'uploads');
if ($info) {
// 成功上传后 获取上传信息
// 输出 20160820/42a79759f284b767dfcb2a0197904287.jpg
$filename = '/uploads/' . $info->getSaveName(); $image = \think\Image::open('.' . $filename);
// 按照原图的比例生成一个最大为150*150的缩略图并保存为thumb.png
$image->thumb(150, 150)->save('.' . $filename);
$params['img'] = $filename;
} else {
// 上传失败获取错误信息
echo $file->getError();
}
}
$result = HomeworkModel::add($params);
if (!$result) {
$this->error('添加失败', '/homework/homework/save');
}
$this->success('添加成功', '/homework/homework/index'); } /**
* 显示指定的资源
*
* @param int $id
* @return \think\Response
*/
public function read($id)
{
//
} /**
* 显示编辑资源表单页.
*
* @param int $id
* @return \think\Response
*/
public function edit($id)
{
//
$data = HomeworkModel::showOneInfo($id);
$this->assign('data', $data);
return view(); } /**
* 保存更新的资源
*
* @param \think\Request $request
* @param int $id
* @return \think\Response
*/
public function update(Request $request, $id)
{
//
} /**
* 删除指定资源
*
* @param int $id
* @return \think\Response
*/
public function delete($id)
{
//
$res = HomeworkModel::del($id);
return json(['code' => 200, 'msg' => 'success', 'data' => $res]);
}
public function put(Request $request){
$post=request()->post();
$updata=[ 'put'=>$post['put']
];
$id=$post['id'];
//修改数据
$result=HomeworkModel::put($updata,$id);
if ($result){
return json(['code'=>200,'meg'=>'success','data'=>$updata]);
}else{
return json(['code'=>500,'msg'=>'error','data'=>'']);
} } }
模型代码:
<?php namespace app\homework\model; use think\Model; class HomeworkModel extends Model
{
//连接表名
protected $table = 'goodsave';
//商品添加
public static function add($params)
{ return self::create($params, true); }
//商品分页搜索
public static function listInfo($name, $price)
{ $config = [
'query' => ['name' => $name, 'price' => $price],
]; $model = new self();
if (isset($name)) {
$model = $model->where('name', 'like', "%$name%");
}
if (isset($price)) {
$model = $model->where('price', 'like', "%$price%");
}
$data = $model->paginate(2, false, $config);
return $data;
}
//编辑
public static function showOneInfo($id)
{
return self::find($id); } //删除
public static function del($id)
{
return self::destroy($id);
} //修改状态put
public static function put($updata, $id)
{
return self::update($updata, ['id' => $id], true);
} }
think php 上下架修改+jq静态批量删除+ajax删除+全选的更多相关文章
- MVC3学习:利用mvc3+ajax实现全选和批量删除
本例数据库操作使用EF code first; 先利用mvc自带的模板,先生成一个list视图,然后再手动添加复选框和删除按钮 <table> <tr> @*在标题行添加一个全 ...
- 在spring boot上基于maven使用redis——批量匹配并删除 (二)
一.背景 在搭建了项目之后,由于需要通过触发动作,并删除redis中多个key. 二.思路 在查询了jedis并没有类似的删除方法之后,事情就变得清晰起来.完成上述任务,分为两个步骤,第一,找到要删除 ...
- word 2013 题注、图注、插入图片自动修改大小、批量更新题注编号
1 .题注 图片下面的文字说明,如 图 1.1.1 2.图注 图的标题格式,可以右键修改段落为居中,选中图片,点下此格式快捷居中等其他格式 3. 题注插入 效果 如下 4.题注自动居中对齐 先点击图 ...
- Ado.net[登录,增删改查,Get传值,全选,不选,批量删除,批量更新]
[虽然说,开发的时候,我们可以使用各种框架,ado.net作为底层的东西,作为一个合格的程序员,在出问题的时候我们还是要知道如何调试] 一.增删改查 cmd.ExecuteReader();执行查询, ...
- jquery操作全选、批量删除、加减行
--------------------------------------------------------------------------------------- html静态页面 --- ...
- jq实现批量图片上传
http://blog.csdn.net/lmj623565791/article/details/31513065 jq实现批量图片上传 http://blog.csdn.net/lmj623565 ...
- Spring Boot2(十四):单文件上传/下载,文件批量上传
文件上传和下载在项目中经常用到,这里主要学习SpringBoot完成单个文件上传/下载,批量文件上传的场景应用.结合mysql数据库.jpa数据层操作.thymeleaf页面模板. 一.准备 添加ma ...
- linux(以ubuntu为例)下Android利用ant自动编译、修改配置文件、批量多渠道,打包生成apk文件
原创,转载请注明:http://www.cnblogs.com/ycxyyzw/p/4555328.html 之前写过一篇<windows下Android利用ant自动编译.修改配置文件.批量 ...
- asp.net mvc4 easyui datagrid 增删改查分页 导出 先上传后导入 NPOI批量导入 导出EXCEL
效果图 数据库代码 create database CardManage use CardManage create table CardManage ( ID ,) primary key, use ...
随机推荐
- windows平台编码转换
int AsciiToUtf8(char* pSrc, unsigned int nSrcLen, char* pBuffer, unsigned int nBufferLen) { assert(p ...
- Eclipse集成Git/SVN插件及使用
感谢大佬:https://www.cnblogs.com/jpfss/p/8027347.html 1. Git插件安装 1.1 下载插件 首先打开Eclipse,然后点击Help>Instal ...
- centOS 强制卸载PHP
centOS上的php过低是需要重新安装时,不得不卸载自定义安装,如下操作 查看php版本命令: #php -v 这个命令是删除不干净的 #yum remove php 因为使用这个命令以后再用 #p ...
- 一致性协议之ZAB
前言 一致性协议 包括 Paxos,Raft,2PC,3PC等等,今天我们讲一种协议,ZAB 协议,该协议应该是所有一致性协议中生产环境中应用最多的了.为什么呢?因为他是为 Zookeeper 设计的 ...
- nvidia-smi
内容转自:https://blog.csdn.net/handsome_bear/article/details/80903477 nvidia-smi 显示 说明 Fan 风扇转速(0%--100% ...
- 关于Synchronized你了解多少?
1.说一说自己对于 synchronized 关键字的了解 synchronized是解决多线程之间访问资源的同步性,synchronized关键字可以保证被他修饰的资源在任何时刻只有一个线程访问. ...
- 手把手教你实现pynq-z2条形码识别
我是 雪天鱼,一名FPGA爱好者,研究方向是FPGA架构探索和SOC设计. 关注公众号,拉你进"IC设计交流群". 1.前言 单单实现一个二维码识别就花了将近一个星期,这篇文章我就 ...
- c++ istream_iterator ostream_iterator
istream_iterator/ostream_iterator void stream_iter_odd_even(const string &in_file, const string ...
- 『无为则无心』Python基础 — 44、对文件和文件夹的操作
目录 1.os模块介绍 2.查看os模块相关文档 3.os模块常用方法 (1)文件重命名 (2)删除文件 (3)创建文件夹 (4)删除文件夹 (5)获取当前目录 (6)改变默认目录 (7)获取目录列表 ...
- Python+selenium自动循环送贺卡
Python源代码如下: # coding=utf-8 from selenium import webdriver from time import sleep from random import ...