Como llenar un select (dropdown) con CodeIgniter
En estas semanas pasadas tuve la oportunidad de ver codigo de otros programadores (si o no Zer0s y Wilbur? :d ), bueno ahi puedimos notar la forma en que ellos llenaban un select (dropdown), de una forma un poco extraña, auque en php es valido, pero no si utilizamos CodeIgniter, ya que CodeIgniter nos facilita operaciones como esas.
La forma “correcta” de llenar un select (dropdown) deberia ser la siguiente:
Model:
class dropdown extends Model{
const TABLA_REGISTROS = 'tabla_x';
//constructor
fucntion dropdown(){
parent::Model();
}
function llenar_select(){
$query = $this->db->get(self::TABLA_REGISTROS);
$data = array();
$data[]='Seleccion un elemento'; //aqui agregamos una opcion sin valor a nuestro select, la cual sera la seleccion por defecto
if($query->num_rows()>0){
foreach($query->result_array() as $row){
$data[$row['id']]= $row['nombre'];
}
return $data;
}
}
}
Nuestro modelo esta listo, no queremos mas nada, con este método llenamos el select.
Controlador
class llenarSelect extends Controller{
function llenarSelect(){
parent::Controller();
}
function index(){
$data['titulo'] = 'Llenando un Select o DropDown';
$data['registros'] = $this->dropdown->llenar_select();
$this->load->view('view-select',$data);
}
}
Nuestro Controlador esta completo.
Vista
La cual es un html cualquiera solo que llamando una funcion de CodeIgniter
echo form_open('ruta-procesa')."\n";
echo form_label('Mostrando Select ')."\n";
// y aqui la magia de CI
echo form_dropdown('registros',$registros)."\n";
echo form_close();
Y creo que eso es todo….
| Print article | This entry was posted by Asinox on May 20, 2009 at 6:32 pm, and is filed under Ayuda, Code, CodeIgniter, PHP, frameworks. Follow any responses to this post through RSS 2.0. You can leave a response or trackback from your own site. |






about 1 year ago
Esa es la forma correcta, o más rápida por lo menos. Algunos se confunden al principio por no conocer a fondo CodeIginter.
El primer paso hacia la libertad es el conocimiento.
about 11 months ago
Muy buena informacion!
Ya lo pongo en uso.
Saludos.
Mauricio
about 5 months ago
Muy bueno, pero creo que si el resultset lo devuelves como objeto, ( $query->result() ), irá más rápido.. pero no vendrá de aki no ??
about 5 months ago
Hola Smart-XY, pues lo uso con array, (array_result), para darle poder hacer que las option en el select venga con el valor y el label.
Saludos y gracias por tu vista
about 1 month ago
Muchas Gracias…excelente…