修改和添加非常像:基本上90%都一样。所以直接把添加的复制一份即可
实际操作:
- 先在控制器中复制add方法为edit方法
- 复制控制器
- 修改模型
// 显示和处理表单
public function edit()
{
$id=I('get.id'); //要修改商品的ID
$model=D('goods');
// 判断用户是否提交了表单
if(IS_POST)
{
$model = D('goods');
if($model->create(I('post.'), 2))
{
if(FALSE !==$model->save()) //save的返回值,失败返回false,成功就返回受影响的条数
{
// 显示成功信息并等待1秒之后跳转
$this->success('操作成功!', U('lst'));
exit;
}
}
// 如果走到 这说明上面失败了在这里处理失败的请求
// 从模型中取出失败的原因
$error = $model->getError();
// 由控制器显示错误信息,并在3秒跳回上一个页面
$this->error($error);
}
//根据ID取出要修改的商品的原信息
$data=$model->find($id);
$this->assign('data',$data);
// 1.显示表单
$this->display();
}
3
// 修改时调用create方法允许接收的字段
protected $updateFields = 'id,goods_name,market_price,shop_price,is_on_sale,goods_desc';
5 在显示页面添加修改的ID方法
<a href="<?php echo U('edit?id='.$v['id']); ?>">修改</a>
<form enctype="multipart/form-data" action="__SELF__" method="post">
<input type="hidden" name="id" value="<?php echo $data['id']; ?>" />
<table width="90%" id="general-table" align="center">
<tr>
<td class="label">商品名称:</td>
<td><input type="text" name="goods_name" size="60" value="<?php echo $data['goods_name']; ?>"/>
<span class="require-field">*</span></td>
</tr>
<tr>
<td class="label">LOGO:</td>
<td>
<img src="__PUBLIC__/Uploads/<?php echo $data['mid_logo']; ?>" /><br/>
<input type="file" name="logo" size="60" />
</td>
</tr>
<tr>
<td class="label">市场售价:</td>
<td>
<input type="text" name="market_price" value="<?php echo $data['market_price']; ?>" size="20" />
<span class="require-field">*</span>
</td>
</tr>
<tr>
<td class="label">本店售价:</td>
<td>
<input type="text" name="shop_price" value="<?php echo $data['shop_price']; ?>" size="20"/>
<span class="require-field">*</span>
</td>
</tr>
<tr>
<td class="label">是否上架:</td>
<td>
<input type="radio" name="is_on_sale" value="是"<?php if($data['is_on_sale']=='是') echo 'checked="checked"'; ?> /> 是
<input type="radio" name="is_on_sale" value="否"<?php if($data['is_on_sale']=='否') echo 'checked="checked"'; ?> /> 否
</td>
</tr>
<tr>
<td class="label">商品描述:</td>
<td>
<textarea id="goods_desc" name="goods_desc"><?php echo $data['goods_desc']; ?></textarea>
</td>
</tr>
</table>