好的所以我正在开发电子商务网站,在那里我使用Common View文件进行编辑和插入数据。问题是我已经为添加和插入做了一个共同的功能。因此,如果我们编辑表单,则会在URL中传递它的ID。函数获取URL并操作数据并查看已编辑的表单。问题是插入数据。我的公共函数接受一个参数。[编辑时传递的Id]。当我尝试加载“添加文件”时,它会给我错误。
Missing argument 1 for Register::product()
这是我的代码:
Controller:
function product($get_product_id)
{
//DO Something
//Check POST data
// add OR UPDATE POST Data
}
View File:
<? if(isset($data))
{
foreach ($data as $data1)
{
$get_product_id=$data1->id;
$get_product_name=$data1->product_name;
$get_product_code=$data1->code;
$get_product_price=$data1->price;
$get_product_quantity=$data1->quantity;
$get_product_status=$data1->status;
$get_product_details=$data1->details;
$get_product_image=$data1->productimage;
}
}
else
{
$get_product_id="";
$get_product_name="";
$get_product_code="";
$get_product_price="";
$get_product_quantity="";
$get_product_status="";
$get_product_details="";
$get_product_image="";
}
?>
<? echo form_open_multipart('register/product/'.$get_product_id.'');?>
<table width="90%" border="0" cellspacing="0" cellpadding="6">
<tr>
<td width="20%" align="right"><? echo form_label('Product Name');?></td>
<td width="80%"><?echo form_input(array('id' =>'product_name','name' =>'product_name','size' => '64','value' => $get_product_name));echo form_hidden('id', $get_product_id);?>
<br/>
</td>
</tr>
//And So on...
答案 0 :(得分:3)
您的控制器代码应为
Controller:
function product($get_product_id = NULL) {
if ($get_product_id) {
//edit code
} else {
//insert code
}
//DO Something
//Check POST data
// add OR UPDATE POST Data
}
答案 1 :(得分:1)
Controller:
function product($get_product_id==NULL) // This means that you are assigning the default value if the function gets a null value for the argument $get_product_id
{
//DO Something
//Check POST data
// add OR UPDATE POST Data
}
请改变这样的参数并做你想做的事。在你必须检查$get_product_id
是否为空的函数中,如果$get_product_id
为空,你可以决定请求是插入否则请求是更新请求。