2012-10-03 61 views
1

在我的控制器中,我創建了一個將數據行插入數據庫的函數。它從表單接收輸入,並將其傳遞給模型。下面是控制器功能的簡化版本:CI控制器函數如何從表單或其他函數接收數據?

function add_row() 
{ 
$name = $this->input->post('name'); 
$type = $this->input->post('type'); 
$newRow = array (
     "name" => $name, 
     "type" => $type 
    ); 
$this->places_model->addRow($newRow) 
} 

我也創造了,做其他各種東西控制器的另一個功能,並與這兩個字段的值結束。現在我想從控制器中調用相同的add_row函數,但是這次傳遞了在其他函數中生成的兩個值。

修改add_row函數的最佳方法是什麼,以便它足夠靈活以接收表單中發佈的值或者從同一控制器中的另一個函數傳遞值?

+0

爲什麼你需要修改addRow函數來實現這一目標?因爲它只設置爲接受兩個變量的數組,所以只需使用另一個函數,它的代碼沒有發佈,也將addRow()函數傳遞給一個數組。 – Rooster

+0

b/c他使用這個函數作爲他的帖子URL。該請求直接轉到此功能,而不是先前的功能。 – dispake

回答

0
function add_row($name = NULL, $type = NULL) 
{ 
    if(isset($_POST["name"]) && $name == NULL) 
    { 
     $name = $this->input->post('name'); 
    } 

    if(isset($_POST["type"]) && $type == NULL) 
    { 
     $type= $this->input->post('type'); 
    } 

    $newRow = array (
     "name" => $name, 
     "type" => $type 
    ); 
    $this->places_model->addRow($newRow) 
} 
0
function add_row($name ='', $type ='') 
{ 
    if (!empty($this->input->post()) 
    { 
    $name = $this->input->post('name'); 
    $type = $this->input->post('type');   
    } 
    $newRow = array (
      "name" => $name, 
      "type" => $type 
      ); 
    $this->places_model->addRow($newRow) 
} 
+1

他們是其他職位變量設置,但不是名稱或類型? – Murtnowski

相關問題