这几天,工作比较闲,做一下学习php的笔记。
就上关键部分代码咯,自带注释,
首先是修改按钮。制作超链接跳转
<!--<td><a href="__CONTROLLER__/update/goods_id/{$v.goods_id}" >修改</a></td>--> <td><a href="{:U('update',array('goods_id'=>$v['goods_id']))}" >修改</a></td>
此处有两种写法,一种是常亮路径__CONTROLLER__,一种是使用U函数。
推荐使用U函数。
U方法用于完成对URL地址的组装,特点在于可以自动根据当前的URL模式和设置生成对应的URL地址,格式为:
U('地址','参数','伪静态','是否跳转','显示域名');
在模板中使用U方法而不是固定写死URL地址的好处在于,一旦你的环境变化或者参数设置改变,你不需要更改模板中的任何代码。
在模板中的调用格式需要采用 {:U('地址', '参数'…)} 的方式
U方法的第二个参数支持传入参数,支持数组和字符串两种定义方式,如果只是字符串方式的参数可以在第一个参数中定义,下面几种方式都是等效的:
U('Blog/cate',array('cate_id'=>1,'status'=>1))
U('Blog/cate','cate_id=1&status=1')
U('Blog/cate?cate_id=1&status=1')
搞完跳转链接之后,我们需要到URL对应的Controller进行接收数据,因为我们在跳转的时候传递了商品ID嘛,嘿嘿。
$goods_id = I('get.goods_id'); //接收被修改商品的goods_id
$info = $goods->find($goods_id);//查询被修改商品的信息
$this->assign('info', $info);
$this->display();
然后在html布局里面将数据添加到表单里面。
<input type="hidden" name='goods_id' value="{$info.goods_id}"/>
<table border="1" width="100%" class="table_a" id="general-tab-tb">
<tr>
<td>商品名称</td>
<td><input type="text" name="goods_name" value="{$info.goods_name}"/>
</td>
</tr>
<tr>
<td>商品价格</td>
<td><input type="text" name="goods_price" value="{$info.goods_price}"/></td>
</tr>
<tr>
<td>商品logo图片</td>
<td><input type="file" name="goods_logo"/></td>
</tr>
</table>
<table border="1" width="100%" class="table_a" id="detail-tab-tb"
style="display:none;"
>
<tr>
<td>商品详细描述</td>
<td>
<textarea name="goods_introduce" id='goods_introduce' style="width:730px;height:320px;">
{$info.goods_introduce}
</textarea>
</td>
</tr>
<script type='text/javascript'>
var ue = UE.getEditor('goods_introduce');
</script>
</table>
数据正常展示后,修改数据并提交。然后在Controller写两个逻辑判断提交的数据类型,一个展示,一个修改判断。
public function update()
{
$goods = new GoodsModel();
if (IS_POST) {
$data = $goods->create();
if ($goods->save($data))
$this->success('修改商品成功', U('show'), 2);
else
$this->error('修改商品失败', U('update', array('goods_id' => $data['goods_id'])), 2);
} else {
$goods_id = I('get.goods_id'); //接收被修改商品的goods_id
$info = $goods->find($goods_id);//查询被修改商品的信息
$this->assign('info', $info);
$this->display();
}
}
本文介绍了一种在PHP中实现商品信息修改功能的方法。通过使用U函数生成URL,确保链接的灵活性;并在Controller中接收商品ID,加载相应数据到表单,方便用户编辑。文章还展示了如何处理表单提交,并给出成功或失败的反馈。
2607

被折叠的 条评论
为什么被折叠?



