【硬上PHP】修改商品信息

本文介绍了一种在PHP中实现商品信息修改功能的方法。通过使用U函数生成URL,确保链接的灵活性;并在Controller中接收商品ID,加载相应数据到表单,方便用户编辑。文章还展示了如何处理表单提交,并给出成功或失败的反馈。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这几天,工作比较闲,做一下学习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();
    }
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值