<form class="form-horizontal" action="{:url('index/Goods/addg')}" method="post" enctype="multipart/form-data">
<div class="form-group">
<label class="col-sm-3 control-label no-padding-right" for="form-field-1"> 用户名 </label>
<div class="col-sm-9">
<input type="text" id="form-field-1" placeholder="水果名称" class="col-xs-10 col-sm-5" name="f_name" />
</div>
</div>
<div class="space-4"></div>
<div class="form-group">
<label class="col-sm-3 control-label no-padding-right" for="form-field-2"> 水果图片 </label>
<div class="col-sm-9">
<input type="file" id="form-field-2" placeholder="水果图片" class="col-xs-10 col-sm-5" name="img"/>
</div>
</div>
<!--<div class="space-4"></div>-->
<!--<div class="form-group">-->
<!--<label class="col-sm-3 control-label no-padding-right" for="form-field-2"> 水果视频上传 </label>-->
<!--<div class="col-sm-9">-->
<!--<input type="file" id="" placeholder="水果视频" class="col-xs-10 col-sm-5" name="imgs" multiple="multiple"/>-->
<!--</div>-->
<!--</div>-->
<div class="space-4"></div>
<div class="form-group">
<label class="col-sm-3 control-label no-padding-right" for="form-field-2"> 所属分类</label>
<div class="col-sm-9">
<select name="t_id" >
{foreach name='data' item='vo'}
<option value="{$vo.t_id}"> {$vo.t_name}</option>
{/foreach}
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label no-padding-right" for="form-field-2"> 水果重量</label>
<div class="col-sm-9">
<input type="text" placeholder="多少/g或者几/个" class="col-xs-10 col-sm-5" name="f_weight"/>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label no-padding-right" for="form-field-2"> 水果库存</label>
<div class="col-sm-9">
<input type="text" placeholder="水果库存" class="col-xs-10 col-sm-5" name="f_surplus"/>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label no-padding-right" for="form-field-2"> 产地</label>
<div class="col-sm-9">
<input type="text" placeholder="产地" class="col-xs-10 col-sm-5" name="f_place"/>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label no-padding-right" for="form-field-2">销售价</label>
<div class="col-sm-9">
<input type="text" placeholder="销售价" class="col-xs-10 col-sm-5" name="m_price"/>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label no-padding-right" for="form-field-2">会员价</label>
<div class="col-sm-9">
<input type="text" placeholder="会员价" class="col-xs-10 col-sm-5" name="v_price"/>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label no-padding-right" for="form-field-2">是否上架</label>
<div class="col-sm-9">
<input type="radio" name="is_show" value="0">不上架
<input type="radio" name="is_show" value="1">上架
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label no-padding-right" for="form-field-2">是否参与活动</label>
<div class="col-sm-9">
<input type="radio" name="is_hot" value="0">不参与
<input type="radio" name="is_hot" value="1">参与
</div>
</div>
<div class="clearfix form-actions">
<div class="col-md-offset-3 col-md-9">
<button class="btn btn-info" type="submit">
<i class="icon-ok bigger-110"></i>
增加
</button>
<button class="btn" type="reset">
<i class="icon-undo bigger-110"></i>
重置
</button>
</div>
</div>
<div class="hr hr-24"></div>
</form>
<center>
<table >
<tr>
水果名称<input type="text" name="f_name" class="f_name">
水果分类
<select name="t_id" id="" class="t_id">
<option value="">请选择分类</option>
{foreach name='type' item='vo'}
<option value="{$vo.t_id}">{$vo.t_name}</option>
{/foreach}
</select>
上架状态
<select name="is_show" class="is_show">
<option value="">请选择上架状态</option>
<option value="1">上架</option>
<option value="0">未上架</option>
</select>
活动状态
<select name="is_hot" class="is_hot">
<option value="">请选择活动状态</option>
<option value="1">参与活动</option>
<option value="0">未参与活动</option>
</select>
<input type="button" value="搜索" class="sou">
</tr>
</table>
</center>
<table id="sample-table-1" class="table table-striped table-bordered table-hover">
<thead>
<tr>
<th class="center">
<label>
<input type="checkbox" class="ace" />
<span class="lbl"></span>
</label>
</th>
<th>商品编号</th>
<th>商品名称</th>
<th>商品图片</th>
<th>所属分类</th>
<th>水果重量</th>
<th>水果库存</th>
<th>已销售量</th>
<th>产地</th>
<th>销售价</th>
<th>会员价</th>
<th>是否上架</th>
<th>是否参与活动</th>
<th>操作</th>
</tr>
</thead>
<tbody class="body">
{foreach name='data' item='v'}
<tr>
<td class="center">
<label>
<input type="checkbox" class ='box' name="box" alt="{$v.f_id}"/>
<span class="lbl"></span>
</label>
</td>
<td>{$v.f_id}</td>
<td>{$v.f_name}</td>
<td><img src="<?php echo $v['f_img'];?>" alt="" width="50"></td>
<td>{$v.t_name}</td>
<td>{$v.f_weight}</td>
<td>{$v.f_surplus}</td>
<td>{$v.f_sale}</td>
<td>{$v.f_place}</td>
<td>{$v.m_price}</td>
<td>{$v.v_price}</td>
<td>
{if condition="$v.is_show == 1"}
上架
{else /}
下架
{/if}
</td>
<td>
{if condition="$v.is_hot== 1"}
参与活动
{else /}
不参与活动
{/if}
</td>
<td>
<a href="{:url('index/Goods/modify')}?fid={$v.f_id}">编辑</a>
<button class="del" alt="{$v.f_id}">删除</button>
</td>
</tr>
{/foreach}
</tbody>
</table>
<center>
<table >
<div><div class="pages">{$page}</div>
<input type="button" class="quan" value="全选">
<input type="button" class="fan" value="反选">
<input type="button" class="pishan" value="批删">
<input type="text" class="pa" value="{$num}"></div>
</table>
</center>
</div><!-- /.table-responsive -->
</div><!-- /span -->
</div><!-- /row -->
<script src="js/jq.js"></script>
<script>
var obj= new Object();
$('.sou').click(function(){
obj['f_name']=$('.f_name').val();
obj['t_id']=$('.t_id').val();
obj['is_show']=$('.is_show').val();
obj['is_hot']=$('.is_hot').val();
// alert(obj['t_id']);
obj['id']=2
page(1);
})
//分页
function page(p){
var html='';
$.each(obj,function(k,v){
html+=k+'='+v+'&';
});
var num=$('.pa').val();
var str='';
$.ajax({
type: "POST",
// url: "index.php/index/goods/page",
url: "{:url('index/Goods/page')}",
data: html+"p="+p+"&num="+num,
dataType:'json',
success: function(msg){
$('.pages').html(msg.page);
$('.pa').val(num);
var is_show='';
var is_hot='';
$.each( msg.list, function(k, v){
if(v.is_show==1){
is_show='上架'
}else {
is_show='下架'
}
if(v.is_hot==1){
is_hot='参与活动'
}else {
is_hot='不参与活动'
}
str+='<tr><td class="center"><label><input type="checkbox" class ="box" name="box" alt="'+ v.f_id+'"/><span class="lbl"></span></label></td>';
str+='<td>'+v.f_id+'</td><td>'+v.f_name+'</td><td><img src="'+ v.f_img+'" alt="" width="50"></td><td>'+v.t_name+'</td><td>'+v.f_weight+'</td><td>'+v.f_surplus+'</td><td>'+v.f_sale+'</td><td>'+v.f_place+'</td><td>'+v.m_price+'</td><td>'+v.v_price+'</td>';
str+='<td>'+is_show+'</td><td>'+is_hot+'</td><td><a href="index.php/index/Goods/modify?fid='+v.f_id+'">编辑</a><button class="del" alt="'+v.f_id+'">删除</button></td></tr>';
// str+='<tr><td>'+v.user_id+'</td><td>'+v.username+'</td><td>'+v.sex+'</td><td>'+v.age+'</td><td><'+v.lasttime+'</td></tr>';
});
$('.body').html(str);
}
});
}
//批删
// $('.pishan').click(function(){
$(".pishan").on("click", function(){
var box=document.getElementsByName('box');
var str='';
var _this=$(this);
$('.box').each(function(){
if(this.checked==true){
str +=','+$(this).attr('alt');
}
})
str=str.substr(1);
// alert(str);
$.ajax({
type: "POST",
url: "index.php/index/goods/up",
data: "fid="+str,
success: function(msg){
if(msg==1){
for(var i=box.length-1;i>=0;i--){
if(box[i].checked==true){
box[i].parentNode.parentNode.parentNode.remove();
}
}
}
}
});
})
//全选
// $('.quan').click(function(){
$(".quan").on("click", function(){
var box=document.getElementsByName('box');
for(var i=0;i<=box.length;i++){
box[i].checked=true;
}
})
//反选
// $('.fan').click(function(){
$(".fan").on("click", function(){
var box=document.getElementsByName('box');
for(var i=0;i<=box.length;i++){
if( box[i].checked==true){
box[i].checked=false;
}else{
box[i].checked=true;
}
}
})
//单删
// $('.del').click(function(){
$(document).on('click','.del',function(){
var fid=$(this).attr('alt');
var _this=$(this);
$.ajax({
type: "GET",
url: "index.php/index/goods/del",
data: "fid="+fid,
success: function(msg){
if(msg==1){
_this.parent().parent().remove();
alert('删除成功');
}else {
alert('删除失败');
}
}
});
})
</script>
<form class="form-horizontal" action="{:url('index/Goods/upto')}" method="post" enctype="multipart/form-data">
<div class="form-group">
<label class="col-sm-3 control-label no-padding-right" for="form-field-1"> 用户名 </label>
<div class="col-sm-9">
<input type="text" id="form-field-1" placeholder="水果名称" class="col-xs-10 col-sm-5" name="f_name" value="{$data.f_name}"/>
</div>
</div>
<div class="space-4"></div>
<div class="form-group">
<label class="col-sm-3 control-label no-padding-right" for="form-field-2"> 水果图片 </label>
<div class="col-sm-9">
<img src="{$data.f_img}" alt="" width="50">
<input type="file" id="form-field-2" placeholder="水果图片" class="col-xs-10 col-sm-5" name="img"/>
</div>
</div>
<div class="space-4"></div>
<div class="form-group">
<label class="col-sm-3 control-label no-padding-right" for="form-field-2"> 所属分类</label>
<div class="col-sm-9">
<select name="t_id" >
{foreach name='re' item='vo'}
{if condition="$data.t_id ==$vo.t_id "}
<option value="{$vo.t_id}" selected> {$vo.t_name}</option>
{else /}
<option value="{$vo.t_id}"> {$vo.t_name}</option>
{/if}
{/foreach}
</select>
<input type="hidden" name="f_id" value="{$data.f_id}">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label no-padding-right" for="form-field-2"> 水果重量</label>
<div class="col-sm-9">
<input type="text" placeholder="多少/g或者几/个" class="col-xs-10 col-sm-5" name="f_weight" value="{$data.f_weight}"/>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label no-padding-right" for="form-field-2"> 水果库存</label>
<div class="col-sm-9">
<input type="text" placeholder="水果库存" class="col-xs-10 col-sm-5" name="f_surplus" value="{$data.f_surplus}"/>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label no-padding-right" for="form-field-2"> 产地</label>
<div class="col-sm-9">
<input type="text" placeholder="产地" class="col-xs-10 col-sm-5" name="f_place" value="{$data.f_place}"/>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label no-padding-right" for="form-field-2">销售价</label>
<div class="col-sm-9">
<input type="text" placeholder="销售价" class="col-xs-10 col-sm-5" name="m_price" value="{$data.m_price}"/>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label no-padding-right" for="form-field-2">会员价</label>
<div class="col-sm-9">
<input type="text" placeholder="会员价" class="col-xs-10 col-sm-5" name="v_price" value="{$data.v_price}"/>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label no-padding-right" for="form-field-2">是否上架</label>
<div class="col-sm-9">
{if condition="$data.is_show ==1 "}
<input type="radio" name="is_show" value="0">不上架
<input type="radio" name="is_show" value="1" checked>上架
{else /}
<input type="radio" name="is_show" value="0" checked>不上架
<input type="radio" name="is_show" value="1">上架
{/if}
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label no-padding-right" for="form-field-2">是否参与活动</label>
<div class="col-sm-9">
{if condition="$data.is_hot ==1 "}
<input type="radio" name="is_hot" value="0">不参与
<input type="radio" name="is_hot" value="1" checked>参与
{else /}
<input type="radio" name="is_hot" value="0" checked>不参与
<input type="radio" name="is_hot" value="1">参与
{/if}
</div>
</div>
<div class="clearfix form-actions">
<div class="col-md-offset-3 col-md-9">
<button class="btn btn-info" type="submit">
<i class="icon-ok bigger-110"></i>
修改
</button>
<button class="btn" type="reset">
<i class="icon-undo bigger-110"></i>
重置
</button>
</div>
</div>
<div class="hr hr-24"></div>
</form>
<?php
namespace app\index\controller;
use think\Controller;
use think\Db;
use app\index\model\Fruits;
class Goods extends Controller
{
public function index()
{
//查询分类
$data= db('sg_type')->select();
$this->view->engine->layout(true);
//赋值
$this->assign('data',$data);
return view('index');
}
//网站后台首页
public function addg()
{
$file = request()->file('img');
$data=$_POST;
if(isset($file)){
// 获取表单上传文件 例如上传了001.jpg
// 移动到框架应用根目录/public/uploads/ 目录下
$info = $file->move(ROOT_PATH . 'public/uploads');
// var_dump($info) ;die;
if($info){
// 成功上传后 获取上传信息
$a=$info->getSaveName();
$imgp= str_replace("\\","/",$a);
$imgpath='uploads/'.$imgp;
$data['f_img']= $imgpath;
}else{
// 上传失败获取错误信息
echo $file->getError();
}
}
$data['f_time']=time();
// var_dump($data);die;
$num= \think\Db::table('sg_fruits')->insert($data);
if($num){
$this->redirect("goods/lists");
}
// $this->view->engine->layout(true);
// return view('show');
}
//水果列表
public function lists()
{
// 商品关联分类查询 普通展示
// $data = db('sg_fruits')
// ->join('sg_type', 'sg_fruits.t_id = sg_type.t_id')
// ->select();
// $this->view->engine->layout(true);
// $this->assign('data', $data);
// return view('lists');
//
//
//分页展示
//总条数
$count=db('sg_fruits')
->join('sg_type','sg_fruits.t_id = sg_type.t_id')
->count();
//默认当前页1//每页显示条数
$p=1;$num=5;
$limit=($p-1)*$num;
$fruits=new Fruits();
$page=$fruits->fen($count,$p,$num);
$data=db('sg_fruits')
->join('sg_type','sg_fruits.t_id = sg_type.t_id')
->limit($limit,$num)
->select();
//查询分类
$type= db('sg_type')->select();
// 把分页数据赋值给模板变量list
$this->view->engine->layout(true);
$this->assign('data', $data);
$this->assign('page', $page);
$this->assign('type', $type);
$this->assign('num', $num);
// 渲染模板输出
return $this->fetch();
}
//单删
public function del(){
$fid=$_GET['fid'];//获取商品id
$res=Db::table('sg_fruits')->where("f_id= $fid")->delete();
if($res){
echo 1;
}else{
echo 2;
}
// Db::table('sg_fruits')->where('')->update($data);
}
//批删
public function up(){
$data=$_POST['fid'];//获取商品id
$res=Db::table('sg_fruits')->where("f_id in($data)")->delete();
if($res){
echo 1;
}else{
echo 2;
}
// Db::table('sg_fruits')->where('')->update($data);
}
//单条修改渲染
public function modify(){
$fid=$_GET['fid'];
$res=db('sg_fruits')
->join('sg_type','sg_fruits.t_id = sg_type.t_id')
->where("f_id =$fid")
->find();
// $res=Db::table('sg_fruits')->where("f_id =$fid")->find();
//分类
$re= db('sg_type')->select();
$this->view->engine->layout(true);
$this->assign('data',$res);
$this->assign('re',$re);
return view('modify');
}
//接值修改
public function upto(){
$data=$_POST;
$f_id=$data['f_id'];
$file = request()->file('img');
if($file){
// 移动到框架应用根目录/public/uploads/ 目录下
$info = $file->move(ROOT_PATH . 'public/uploads');
// var_dump($info) ;die;
if($info){
// 成功上传后 获取上传信息
$a=$info->getSaveName();
$imgp= str_replace("\\","/",$a);
$imgpath='uploads/'.$imgp;
$data['f_img']= $imgpath;
$resd=Db::table('sg_fruits')->where("f_id=$f_id")->update($data);
if($resd){
$this->redirect("goods/lists");
}
}
}else{
//根据商品id修改
$res=Db::table('sg_fruits')->where("f_id=$f_id")->update($data);
if($res){
$this->redirect("goods/lists");
}
}
}
//分页2往后
public function page(){
if(isset($_POST['id'])){
$arr=$_POST;
// var_dump($arr);die;
$where[]='1=1';
if(!empty($arr['is_hot '])){
$a = $arr['is_hot'];
$where[]= 'is_hot ='."$a";
}
if(!empty($arr['is_show'])) {
$b = $arr['is_show'];
$where[] = 'is_show =' . "$b";
}
if(!empty($arr['t_id'])) {
$d = $arr['t_id'];
$where[] = 'sg_fruits.t_id ='."$d";
}
if(!empty($arr['f_name'])) {
$c = $arr['f_name'];
$where[] = 'f_name like \'%' . "$c".'%\'';
}
$wh=implode(' AND ',$where);
// echo $wh;die;
$num=$_POST['num'];
$p=$_POST['p'];
$fruits=new Fruits();
//总条数
$count=db('sg_fruits')
->join('sg_type','sg_fruits.t_id = sg_type.t_id')
->where($wh)
->count();
$data['page']=$fruits->fen($count,$p,$num);
$limit=($p-1)*$num;
$data['list']=db('sg_fruits')
->join('sg_type','sg_fruits.t_id = sg_type.t_id')
->where($wh)
->limit($limit,$num)
->select();
echo json_encode($data);
}else{
$num=$_POST['num'];
$p=$_POST['p'];
$fruits=new Fruits();
//总条数
$count=db('sg_fruits')
->join('sg_type','sg_fruits.t_id = sg_type.t_id')
->count();
$data['page']=$fruits->fen($count,$p,$num);
$limit=($p-1)*$num;
$data['list']=db('sg_fruits')
->join('sg_type','sg_fruits.t_id = sg_type.t_id')
->limit($limit,$num)
->select();
echo json_encode($data);
}
}
//渲染视频页面
public function upload(){
return $this->fetch('up');
}
//接上传的值
public function jie(){
// print_r($_FILES["file"]);
$name = $_FILES["file"]["name"]; //中文可能乱码使用iconv函数
$info = $name->move(ROOT_PATH . 'public/uploads');
// move_uploaded_file($_FILES["file"]["tmp_name"],iconv("UTF-8","gb2312",$name));
}
}
<?php
namespace app\index\model;
use think\Model;
class Fruits{
public function fen($count,$p,$num)
{
//分页数据
$pageSum=ceil($count/$num);//总页数
$prevPage=$p-1>1?$p-1:1;//上一页
$nextPage=$p+1<$pageSum?$p+1:$pageSum;//下一页;
$str='';
$str.='<a href="javascript:page(1)">首页</a>';
$str.='<a href="javascript:page('.$prevPage.')">上一页</a>';
$str.=$p.'/'.$pageSum;
$str.='<a href="javascript:page('.$nextPage.')">下一页</a>';
$str.='<a href="javascript:page('.$pageSum.')">末页</a>';
return $str;
}
}
?>