1 控制器层
3 即点即改
<?php
namespace App\Http\Controllers;
use DB;
use Log;
use App\User;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Http\Controllers\Session;
class GoodsController extends Controller{
/*
加载一个登录页面
*/
public function login(){
return view("/goods/login");
}
/*
执行登录
*/
public function login_add(Request $request){
$name=$request->input('username');
$pwd=$request->input('pwd');
//echo $name.$pwd;die;
//$sess=$request->session()->get('username');
//echo $sess;die;
$us=DB::table('guser')->where("username",$name)->first();
//print_r($us);die;
if($us){
$request->session()->put('username',$name);
return redirect("/goods/lists");
}else{
echo "<script>alert('用户名或密码错误'); window.history.go(-1)</script>";
}
}
/*
商品列表页
*/
public function lists(){
$god=DB::table("ggoods")->get();
//print_r($god);
return view("/goods/lists",['god'=>$god]);
}
/*
删除
*/
public function dele(Request $request){
$gname=session()->get('gname');
$gname=implode("",$gname);
$username=session()->get('username');
$id=$request->get('id');
//echo $id;die;
$de=DB::table("ggoods")->where("id",$id)->delete();
//print_r($de);die;
$date=date("Y-m-d H:i:s");
$saves="<font color='blue'>$username</font>"."删除id为-".$id."-商品名为-".$gname."-的商品";
$arr=array('work_name'=>$username,'work_time'=>$date,'work_saves'=>$saves);
$this->works($arr);
if($de){
echo "<script>alert('删除成功');</script>";
return redirect("/goods/lists");
}else{
echo "<script>alert('删除失败');windows.history.go(-1)</script>";
}
}
/*
ajax删除
*/
public function ajaxdele(Request $request){
//$name=session()->get('name');
//$name=implode(",",$name);
//echo $name;die;
$username=session()->get('username');
//echo $username;die;
$id=$request->input('id');
$id=ltrim($id,",");
$ar=explode(",",$id);
$res=DB::table('ggoods')->whereIn('id',$ar)->delete();
//print_r($res);die;
if($res){
$date=date("Y-m-d H:i:s");
$saves="<font color='yellow'>$username</font>"."删除id为".$id."的商品";
$arr=array('work_name'=>$username,'work_time'=>$date,'work_saves'=>$saves);
$this->works($arr);
echo "ok";
}else{
echo "no";
}
}
/*
插入数据
*/
public function goods_add(){
return view('/goods/goods_add');
}
public function goods_sh(Request $request){
$username=$request->session()->get('username');
//echo $username;die;
//echo $name;die;
//$gname=$request->input('name');
// $preck=$request->input('preck');
$gname = $request->input('name');
$request->session()->put("gname",$gname);
$gnames=implode(",",$gname);
$prick=$request->input('price');
//print_r($prick);die;
foreach($gname as $key=>$val){
$names=$gname[$key];
$pricks=$prick[$key];
//$gprick=$post['list'][$key];
//$precks=$preck[$key];
//print_r($gnames);
$sh=DB::table("ggoods")->insert(['name'=>$names,'prick'=>$pricks]);
}
//die;
//print_r($sh);die;
$date=date('Y-m-d H:i:s');
$saves="<font color='red'>$username</font>"."添加商品名为-".$gnames."-的商品";
$arr=array('work_time'=>$date,'work_name'=>$username,'work_saves'=>$saves);
$this->works($arr);
//print_r($sh);
if($sh){
return redirect("/goods/lists");
}
}
/*
操作日志
*/
public function works($arr){
DB::table('gwork')->insert($arr);
}
/*
日志列表
*/
public function wok(){
$de=DB::table('gwork')->get();
if($de){
return view('/goods/wok',['de'=>$de]);
}
}
/*
即点即改
*/
public function updat(Request $request){
$username=session()->get('username');
$id=$request->input('id');
$prick=$request->input('prick');
$rep=DB::table('ggoods')->where('id',$id)->update(['prick'=>$prick]);
if($rep){
$date=date("Y-m-d H:i:s");
$saves="<font color='green'>$username</font>"."修改了价格为-".$prick."-的商品";
$arr=array('work_name'=>$username,'work_time'=>$date,'work_saves'=>$saves);
$this->works($arr);
echo "ok";
}else{
echo "no";
}
}
}
?>
2 视图层
<pre name="code" class="php"><!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>商品列表</title>
<style type="text/css">
span{
color:red;
cursor:pointer;
}
</style>
</head>
<body>
<center>
<h2>商品列表展示</h2>
<a href="{{url('/goods/goods_add')}}">插入数据</a>
<table border="1">
<tr>
<th><input type="checkbox"/></th>
<th>商品</th>
<th>价格</th>
<th>操作</th>
</tr>
<?php foreach($god as $key=>$val){?>
<tr id="d_<?php echo $val->id?>">
<td><input type="checkbox" class="box" value="<?php echo $val->id?>"></td>
<td>
<input type="text" style="display:none" id="ming_<?php echo $val->id?>" value="<?php echo $val->name?>">
<span class="spn" id="spn_<?php echo $val->id?>" data="<?php echo $val->id?>"><?php echo $val->name?></span>
</td>
<td>
<input type="text" style="display:none" id="jia_<?php echo $val->id?>" value="<?php echo $val->prick?>">
<span class="sp" id="sp_<?php echo $val->id?>" data="<?php echo $val->id?>"><?php echo $val->prick?></span>
</td>
<td>
<a href="{{url('/goods/dele')}}?id={{$val->id}}">删除</a>
</td>
</tr>
<?php } ?>
</table>
<input type="button" id="pi" value="批量删除">
<a href="{{url('/goods/wok')}}">操作日志</a>
</center>
<script src="{{asset('/face/jquery-1.9.1.min.js')}}"></script>
<script>
$(function(){
//即点即改
//each()方法jQuery遍历方法 实例 输出每个 元素的文本 attr()方法设置或返回被选元素的属性和值。
$(".sp").each(function(){
var id=$(this).attr("data");
$(this).click(function(){
$("#jia_"+id).css("display","block");
$("#sp_"+id).css("display","none");
})
//blur() 方法 jQuery 事件方法 实例 添加函数到 blur 事件。当 字段失去焦点时发生 blur 事件: $("input").blur(function(){ alert("输入框失去了焦点");
$("#jia_"+id).blur(function(){
var prick=$("#jia_"+id).val();
var _token="<?php echo csrf_token();?>";
var send={prick:prick,_token:_token,id:id};
var url="{{url('/goods/updat')}}";
$.post(url,send,function(dat){
//alert(dat);
if(dat=='ok'){
$("#sp_"+id).html(prick);
$("#jia_"+id).css("display","none");
$("#sp_"+id).css("display","block");
}else{
alert("修改失败");
$("#jia_"+id).css("display","none");
$("#sp_"+id).css("display","block");
}
})
})
})
//批量删除
$("#pi").click(function(){
var obj=$(".box");
var str="";
for(var i=0;i<obj.length;i++){
if(obj.eq(i).prop("checked")==true){
var id=obj.eq(i).val();
var str=str+","+id;
}
}
//alert(str);
if(confirm("您确定要批量删除吗?")){
var _token="<?php echo csrf_token(); ?>";
var send={_token:_token,id:str}
var url="{{url('/goods/ajaxdele')}}"
$.post(url,send,function(data){
//alert(data);
if(data=="ok"){
for(var i=0;i<obj.length;i++){
if(obj.eq(i).prop("checked")==true){
var id=obj.eq(i).val();
$("#d_"+id).remove();
}
}
}
})
}
})
})
</script>
</body>
</html>
3 即点即改
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>插入数据</title>
</head>
<body>
<center>
<form action="{{url('/goods/goods_sh')}}" method="post">
<input type="hidden" name="_token" value="{{csrf_token()}}">
<table id="table">
<tr>
<td>商品名:</td>
<td><input type="text" name="name[]"></td>
<td>价格:</td>
<td><input type="text" name="price[]"></td>
</tr>
<tr id="bo" colspan="4">
<td><input type="button" value="+" id="goo">
<input type="submit" value="添加"></td>
</tr>
</table>
</form>
</center>
</body>
</html>
<script src="{{asset('/face/jquery-1.9.1.min.js')}}"></script>
<script>
$(function(){
$("#goo").click(function(){
//根据当前元素获取所有的父元素
var nowtr = $(this).parents("tr")
alert(nowtr);
//获取nowtr的每个元素的前一个同级元素
var newtr= nowtr.prev().html()
//建立索引 是可变的 现在table中有2个tr 这是只需要一个 所以减去1
var index = $("#table tr").length-1;
// 往后边追加就可以了
nowtr.prev().after("<tr>"+newtr+"</tr>")
})
})
</script>