---恢复内容开始---

//php页面
public function test(){
$id="1";
$data=Db::table('week3_goods')
->join("week3_hp","week3_goods.g_id=week3_hp.goods_id")
->join("week3_goods_attr","week3_hp.g_a_id=week3_goods_attr.g_a_id")
->where("week3_goods.g_id",$id)
->select();
//print_r($data);die;
foreach($data as $k =>$v){
if($v['a_id']){
$ids=explode(',',$v['a_id']);
foreach($ids as $kk =>$vv){
$res=Db::table('week3_attr')->where("a_id",$vv)->find();
$ids[$kk]=$res['a_val'];
$data[$k]['attr']=$ids;
}
}
}
$color=Db::table('week3_attr')->where("a_name",'颜色')->select();
$buttor=Db::table('week3_attr')->where("a_name","内存")->select();
return view("index",['color'=>$color,'buttor'=>$buttor,'arr'=>$data]);
} //添加数据
public function add(){
$data=Request::instance()->param();
foreach($data['color'] as $k =>$v){
$arr['goods_id']=$data['goods_id'];
$arr['attr']=$data['color'][$k].",".$data['buttor'][$k];
$arr['hp_num']=$data['hp_num'][$k];
$arr['stock']=$data['stock'][$k];
$res[]=$arr;
}
print_r($res);
}
//hrml页面   循环输出数据
<center>
<tr>
<th>
商品名称:{$arr[0]['g_name']}
货物:{$arr[0]['hp_num']}
</th>
</tr>
<table>
<form action="{:url('login/add')}">
<input type="hidden" value="{$arr[0]['goods_id']}" name="goods_id"/>
<tr>
<td>颜色</td>
<td>内存</td>
<td>货号</td>
<td>库存</td>
<td>操作</td>
</tr>
{volist name="arr" id="vv"}
<tr>
<td>
<select name="color[]" id="color">
<?php foreach($color as $k =>$v){?>
<option value="<?php echo $v['a_id']?>"
<?php if($v['a_val']==$vv['attr'][0]){
echo "selected";
} ?>><?php echo $v['a_val'];?>
</option>
<?php }?>
</select>
</td>
<td>
<select name="buttor[]" id="buttor">
<?php foreach($buttor as $k =>$v){?>
<option value="<?php echo $v['a_id']?>"
<?php if($v['a_val']==$vv['attr'][0]){
echo "selected";
} ?>><?php echo $v['a_val'];?>
</option>
<?php }?>
</select>
</td>
<td><input type="text" value="{$vv['hp_num']}" name="hp_num[]"/></td>
<td><input type="text" value="{$vv['stock']}" name="stock[]"/></td>
<td><input type="button" value="+" class="jia"/></td>
</tr>
{/volist}
<tr>
<td><input type="submit" value="添加"/></td>
</tr>
</form>
</table>
</center> //jquery 界面 //加减号的改变
$(document).on('click','.jia',function(){
var obj=$(this).parents("tr").clone();
obj.find(".jia").attr('value','-');
obj.find(".jia").attr('class','jian');
$(this).parents("tr").after(obj);
}); $(document).on('click','.jian',function(){
$(this).parents("tr").remove();
});

---恢复内容结束---

//php页面
public function test(){
$id="1";
$data=Db::table('week3_goods')
->join("week3_hp","week3_goods.g_id=week3_hp.goods_id")
->join("week3_goods_attr","week3_hp.g_a_id=week3_goods_attr.g_a_id")
->where("week3_goods.g_id",$id)
->select();
//print_r($data);die;
foreach($data as $k =>$v){
if($v['a_id']){
$ids=explode(',',$v['a_id']);
foreach($ids as $kk =>$vv){
$res=Db::table('week3_attr')->where("a_id",$vv)->find();
$ids[$kk]=$res['a_val'];
$data[$k]['attr']=$ids;
}
}
}
$color=Db::table('week3_attr')->where("a_name",'颜色')->select();
$buttor=Db::table('week3_attr')->where("a_name","内存")->select();
return view("index",['color'=>$color,'buttor'=>$buttor,'arr'=>$data]);
} //添加数据
public function add(){
$data=Request::instance()->param();
foreach($data['color'] as $k =>$v){
$arr['goods_id']=$data['goods_id'];
$arr['attr']=$data['color'][$k].",".$data['buttor'][$k];
$arr['hp_num']=$data['hp_num'][$k];
$arr['stock']=$data['stock'][$k];
$res[]=$arr;
}
print_r($res);
}
//hrml页面   循环输出数据
<center>
<tr>
<th>
商品名称:{$arr[0]['g_name']}
货物:{$arr[0]['hp_num']}
</th>
</tr>
<table>
<form action="{:url('login/add')}">
<input type="hidden" value="{$arr[0]['goods_id']}" name="goods_id"/>
<tr>
<td>颜色</td>
<td>内存</td>
<td>货号</td>
<td>库存</td>
<td>操作</td>
</tr>
{volist name="arr" id="vv"}
<tr>
<td>
<select name="color[]" id="color">
<?php foreach($color as $k =>$v){?>
<option value="<?php echo $v['a_id']?>"
<?php if($v['a_val']==$vv['attr'][0]){
echo "selected";
} ?>><?php echo $v['a_val'];?>
</option>
<?php }?>
</select>
</td>
<td>
<select name="buttor[]" id="buttor">
<?php foreach($buttor as $k =>$v){?>
<option value="<?php echo $v['a_id']?>"
<?php if($v['a_val']==$vv['attr'][0]){
echo "selected";
} ?>><?php echo $v['a_val'];?>
</option>
<?php }?>
</select>
</td>
<td><input type="text" value="{$vv['hp_num']}" name="hp_num[]"/></td>
<td><input type="text" value="{$vv['stock']}" name="stock[]"/></td>
<td><input type="button" value="+" class="jia"/></td>
</tr>
{/volist}
<tr>
<td><input type="submit" value="添加"/></td>
</tr>
</form>
</table>
</center>

//jquery   界面

//加减号的改变
$(document).on('click','.jia',function(){
var obj=$(this).parents("tr").clone();
obj.find(".jia").attr('value','-');
obj.find(".jia").attr('class','jian');
$(this).parents("tr").after(obj);
}); $(document).on('click','.jian',function(){
$(this).parents("tr").remove();
});

sku 加减号的增删的更多相关文章

  1. velocity加减运算注意格式 ,加减号的左右都要有空格

    velocity加减运算注意格式 ,加减号的左右都要有空格 #set( $left= $!biz.value - $vMUtils.getReturnMoney($!biz.billBuy) )

  2. 加减号改变input[type=number]的数值,基于[zepto.js]

    通过点击加减号可以更改input的数值,样式如下图: 具体的html代码如下: <div class="xh-lxx-cart-count1"> <span cl ...

  3. Objective-C 中不带加减号的方法

    显而易见的事实是,Objective-C 中,+ 表示类方法,- 表示实例方法. 但看别人代码过程中,还会发现一种,不带加减号的方法. @implementation MyViewController ...

  4. 微信小程序组件 加减号弹出框

    <!-- 点击立即抢拼弹出框 --> <view class='add-rob' bindtap="setModalStatus" data-status=&qu ...

  5. 293. Flip Game只翻转一步的加减号翻转游戏

    [抄题]: You are playing the following Flip Game with your friend: Given a string that contains only th ...

  6. eclipse的包的加减号展开方式

    这是win7系统下面 导航树的风格 可能你不太习惯 一个最简单的方法: 桌面新建个 eclipse 快捷方式--->右键属性--->兼容性  勾上以兼容模式运行这个程序  

  7. 自己写的Ext树,Ext3.4,静态全部加载

    var load = function(){ /** * 书籍资料目录 */ var bookIT = new Ext.tree.TreeNode({ text:"IT", lea ...

  8. 去除input[type=number]最右边的spinners(默认加减符号)

    // 去掉input[type=number]默认的加减号 input[type='number'] { -moz-appearance:textfield; } input[type=number] ...

  9. Django lazy load 懒加载 倒序查询

    Django orm默认懒加载   Django orm默认使用的懒加载,即使用的时候才去访问数据库,且每次默认取最少的数据,当然这样有好处也有坏处... 坏处: 会导致频繁的查询数据库,如涉及到外键 ...

随机推荐

  1. Writing device drivers in Linux: A brief tutorial

    “Do you pine for the nice days of Minix-1.1, when men were men and wrote their own device drivers?”  ...

  2. Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project ppcloud-common: Compilation failure

    本文为博主原创,未经允许不得转载: [INFO] Finished at: 2018-09-19T20:26:05+08:00[INFO] ------------------------------ ...

  3. 3、My Scripts

    .用for循环批量修改文件扩展名(P240) .使用专业改名命令rename来实现 .通过脚本实现sshd.rsyslog.crond.network.sysstat服务在开机时自动启动(P244) ...

  4. Oracle spatial、openlayers、geoserver开发地理信息系统总结

    感谢开源,使用OpenLayers+Geoserver的地理信息系统开发很简单,完全可以套用开发MIS系统的经验,我这里总结为三个步骤: 1.数据准备 2.数据发布 3.数据展现 我将按照这个思路来介 ...

  5. [osg][osgEarth][osgGA][原] EarthManipulator------基于oe的相机漫游器(浅析)

    知识基础:osg漫游器基础 class OSGEARTHUTIL_EXPORT EarthManipulator : public osgGA::CameraManipulator EarthMani ...

  6. Java——文件及目录File操作

    API file.listFiles(); //列出目录下所有文件及子目录fileList[i].isFile() //判断是否为文件 fileList[i].isDirectory() //判断是否 ...

  7. Uncaught TypeError: (intermediate value)(...) is not a function 上一个方法结束没有加分号; 代码解析报错

    Uncaught TypeError: (intermediate value)(...) is not a function 别忽略了,  第一个方法后面的结束 分号; 不起眼的,引来麻烦, 哎,规 ...

  8. Codeforces 838 B - Diverging Directions

    B - Diverging Directions 思路: 用dfs序+线段树维护子树中距离(从1到u,再从u到1)的最小值 代码: #pragma GCC optimize(2) #pragma GC ...

  9. angular2 脏检查机制

    https://www.waitig.com/angular2-%E8%84%8F%E6%A3%80%E6%9F%A5%E8%BF%87%E7%A8%8B.html https://zhuanlan. ...

  10. Effective java 系列之避免过度同步和不要使用原生态类型,优先考虑泛型

    避免过度同步(67):在一个被同步的方法或代码块中,不要调用哪些被设计成被覆盖的方法或者是由客户端以函数对象的形式提供的方法(21). 有点拗口,书上提供的创建者与观察者模式,add方法太多,看得眼花 ...