domingo, 1 de abril de 2012

Componente Tabla, segunda parte insertando datos

El plugin requiere que se obtenga id del último registro que se insertó en la tabla, y se lo regrese por medio de ajax para que este lo pueda mostrar visualmente los datos , es una manera de comprobar que se realizó la inserción correctamente.
Para esto en una parte del controller tuve que obtener el ultimo id insertado usando la función $this->db->insert_id(), investigando un poco encontre que insert_id() usa la función de php mysql_insert_id() que requiere que la tabla tenga un campo autoincrement (ver aqui), por lo tanto de ahora en adelante todas las tablas creadas deben tener un campo autoincrement para que se pueda hacer la inserción. Aquí pongo un el SQL de la tabla usuario con este requerimiento.

1
2
3
4
5
6
CREATE TABLE `usuario` (
  `id` int(4) NOT NULL AUTO_INCREMENT,
  `nombre` varchar(10) NOT NULL,
  `password` varchar(10) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=0 ;

La vista es la misma de los ejemplos anteriores con el tag jtabla:
1
2
3
  <jtabla id="invtabla" tabla="usuario" permisos="CR" titulo="Los usuarios">
         <campo nombre="id" titulo="El id dek item" autoinc="true"></campo>
   </jtabla>

ahora en permisos hemos añadido la letra C que representa la creación o inserción de registros, se ha incluido un <campo> donde nombre es el nombre del campo de la tabla, titulo es el título que aparecerá visualmente, creo que se explican por si solos y autoinc determina que este campo es autoincrement, realmente solo necesitamos uno, todos estos atributos son necesarios para la configuración del objeto jtable.