2011-06-04 3 views
9

comment puis-je obtenir plusieurs valeurs de case cochée dans CodeIgniter avec ce codeobtenir plusieurs valeurs de case à cocher

<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/> 

au contrôleur

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

je fais cela, mais ne peux pas obtenir des valeurs, où i faire des erreurs????

Répondre

6

Utilisez ceci:

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

Ce sera un tableau, la même chose que $_POST['assign'].

Exemple:

// 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}."; 
} 

Malheureusement, si vous avez besoin d'accéder à un index spécifique, vous devrez l'assigner à une première variable ou utiliser $_POST au lieu de $this->input->post(). Exemple:

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

Mise à jour: PHP 5.4, vous pouvez accéder à l'index droit de l'appel de fonction comme ceci:

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

Non qu'il est recommandé ou mieux, mais si vous le savez c'est possible.

De toute façon, assurez-vous que les données post et l'indice est fixé avant de tenter d'y accéder (si vous devez le faire de cette façon).

1

essayez ceci:

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

Essayez celui-ci, dans votre contrôleur:

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

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

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

} 

Je l'ai fait à mon programme et cela a fonctionné.

Questions connexes