视图代码:

<!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删除+全选的更多相关文章

  1. MVC3学习:利用mvc3+ajax实现全选和批量删除

    本例数据库操作使用EF code first; 先利用mvc自带的模板,先生成一个list视图,然后再手动添加复选框和删除按钮 <table> <tr> @*在标题行添加一个全 ...

  2. 在spring boot上基于maven使用redis——批量匹配并删除 (二)

    一.背景 在搭建了项目之后,由于需要通过触发动作,并删除redis中多个key. 二.思路 在查询了jedis并没有类似的删除方法之后,事情就变得清晰起来.完成上述任务,分为两个步骤,第一,找到要删除 ...

  3. word 2013 题注、图注、插入图片自动修改大小、批量更新题注编号

    1 .题注 图片下面的文字说明,如  图 1.1.1 2.图注 图的标题格式,可以右键修改段落为居中,选中图片,点下此格式快捷居中等其他格式 3. 题注插入 效果 如下 4.题注自动居中对齐 先点击图 ...

  4. Ado.net[登录,增删改查,Get传值,全选,不选,批量删除,批量更新]

    [虽然说,开发的时候,我们可以使用各种框架,ado.net作为底层的东西,作为一个合格的程序员,在出问题的时候我们还是要知道如何调试] 一.增删改查 cmd.ExecuteReader();执行查询, ...

  5. jquery操作全选、批量删除、加减行

    --------------------------------------------------------------------------------------- html静态页面 --- ...

  6. jq实现批量图片上传

    http://blog.csdn.net/lmj623565791/article/details/31513065 jq实现批量图片上传 http://blog.csdn.net/lmj623565 ...

  7. Spring Boot2(十四):单文件上传/下载,文件批量上传

    文件上传和下载在项目中经常用到,这里主要学习SpringBoot完成单个文件上传/下载,批量文件上传的场景应用.结合mysql数据库.jpa数据层操作.thymeleaf页面模板. 一.准备 添加ma ...

  8. linux(以ubuntu为例)下Android利用ant自动编译、修改配置文件、批量多渠道,打包生成apk文件

    原创,转载请注明:http://www.cnblogs.com/ycxyyzw/p/4555328.html  之前写过一篇<windows下Android利用ant自动编译.修改配置文件.批量 ...

  9. asp.net mvc4 easyui datagrid 增删改查分页 导出 先上传后导入 NPOI批量导入 导出EXCEL

    效果图 数据库代码 create database CardManage use CardManage create table CardManage ( ID ,) primary key, use ...

随机推荐

  1. Vue2和Vue3技术整理3 - 高级篇

    3.高级篇 前言 基础篇链接:https://www.cnblogs.com/xiegongzi/p/15782921.html 组件化开发篇链接:https://www.cnblogs.com/xi ...

  2. 「JOISC 2014 Day1」巴士走读

    「JOISC 2014 Day1」巴士走读 将询问离线下来. 从终点出发到起点. 由于在每个点(除了终点)的时间被过来的边固定,因此如果一个点不被新的边更新,是不会发生变化的. 因此可以按照时间顺序, ...

  3. js读取txt文件并下载

    //我在vue中测试, 可行, 这个只适用于google浏览器, ie需要xObject对象 // 下载txt if (/(txt)$/.test(name[1])) { var xhr = new ...

  4. iOS 小技巧总结

    1.获取准确的app启动所需时间 应用启动时间长短对用户第一次体验至关重要,同时系统对应用的启动.恢复等状态的运行时间也有严格要求,在应用超时的情况下系统会直接关闭应用.以下是几个常见场景下系统对Ap ...

  5. 通过版本号来判断用户是否是第一次登陆----By张秀清

    @interface AppDelegate () @end @implementation AppDelegate - (BOOL)application:(UIApplication *)appl ...

  6. memcache启动多个服务

    windows 7 64bit 环境下安装memcached 1.下载后解压到D:\memcached(下载地址:memcached-win64下载地址) 2.安装到windows服务,打开cmd命令 ...

  7. 前端语言之js(对比python快速入门)

    昨日内容回顾 浮动 定位 溢出 透明度 模态框 今日内容概要 变量与常量 基本数据类型 数据类型内置方法 函数 常见内置对象 BOM与DOM操作 内容详细 1.变量与常量 # 在JS中声明变量需要使用 ...

  8. LeetCode随缘刷题之盛最多水的容器

    package leetcode.day_01_30; /** * 给你 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点(i,ai) .在坐标内画 n 条垂直线,垂直线 i的两个端 ...

  9. Hadoop文件操作常用命令

    1.创建目录 #hdfs dfs -mkidr /test 2.查询目录结构 #hdfs dfs -ls / 子命令 -R递归查看//查看具体的某个目录:例如#hdfs dfs -ls /test 3 ...

  10. F WebDriver and 环境配置

    https://seleniumhq.github.io/docs/wd.html WEBDRIVER The biggest change in Selenium recently has been ...