用于编辑和插入的相同功能在Codeigniter中

时间:2016-09-27 06:57:16

标签: php forms continuous-integration

好的所以我正在开发电子商务网站,在那里我使用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...

2 个答案:

答案 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为空,你可以决定请求是插入否则请求是更新请求