2011-06-04 147 views
9

的多個值我怎麼可以在控制器獲得笨多個檢查框的值與此代碼獲取複選框

<input type="checkbox" name="assign[]" value="Keyur">&nbsp;Keyur<br/> 
     <input type="checkbox" name="assign[]" value="Ritesh">&nbsp;Ritesh<br/> 
     <input type="checkbox" name="assign[]" value="Saurabh">&nbsp;Saurabh<br/> 
     <input type="checkbox" name="assign[]" value="Maulik">&nbsp;Maulik<br/> 

$data1 = $this->input->post('assign[]'); 

我這樣做,但不能獲取值,其中i犯錯????

回答

6

使用此:

$this->input->post('assign'); 

這將是一個數組,同樣的事情$_POST['assign']

例子:

// This assumes we know the post key is set and is an array, 
// but you should definitely check first 
foreach ($this->input->post('assign') as $key => $value) 
{ 
    echo "Index {$key}'s value is {$value}."; 
} 

不幸的是,如果你需要訪問特定的索引,你必須把它分配給一個變量第一或使用$_POST代替$this->input->post()。例如:

$assign = $this->input->post('assign'); 
echo $assign[0]; // First value 
echo $_POST['assign'][0]; // First value 

更新:由於PHP 5.4,你可以直接從函數調用這樣的訪問索引:

$this->input->post('assign')[0]; 

不,它的建議或更好,但只是讓你知道這是可能的。

無論哪種方式,確保您嘗試訪問它之前的索引設置後的數據(如果你需要這樣做這種方式)。

1

試試這個:

for($i = 0; $i< count($_POST['assign']); $i++){ 
    echo $_POST['assign'][$i] . "<br />"; 
} 
3

試試這一個,在你的控制器:

$data1 = $this->input->post('assign'); //this returns an array so use foreach to extract data 

foreach($data1 as $key => $value){ 

     echo $value.' '."</br>"; 

} 

我已經這樣做了我的程序和它的工作。