2011-06-04 23 views
9

¿Cómo puedo obtener múltiples valores casilla marcada en CodeIgniter con este códigoobtener múltiples valores de la casilla de verificación

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

en el controlador

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

puedo hacer eso, pero no puedo obtener valores, donde i ¿¿¿¿cometer un error????

Respuesta

6

Utilice esta:

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

Será una matriz, lo mismo que $_POST['assign'].

Ejemplo:

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

Por desgracia, si necesita acceder a un índice específico, usted tiene que asignarlo a una primera variable o utilizar en lugar de $_POST$this->input->post(). Ejemplo:

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

actualización: A partir de PHP 5.4, se puede acceder al índice derecho de la llamada de función como esta:

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

No es que se recomienda o mejor, pero para que lo sepas Es posible.

De cualquier manera, asegúrese de que los datos de envío y el índice se establece antes de intentar acceder a él ( si es necesario hacerlo de esta manera).

1

probar esto:

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

intente éste, en su controlador:

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

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

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

} 

he hecho esto a mi programa y ha funcionado.

Cuestiones relacionadas