Buenas capos. Como andan???
Estoy trabajando en Codeigniter y estoy armando un ABM grupo usuario. Es un abm simple. Lo que tengo que hacer es que cada vez que agrego, modifico, borro o consulto tengo que hacerlo al modelo por medio de una coleccion de objetos.
Alguien me puede orientar bien como hacerlo desde codeigniter???
uso Netbeans 7.2 con xampp (php 5 + mysql)
La idea es que cuando cargo una tabla a la vista, que el controlador traiga desde el modelo "CatalogoGrupos" la coleccion de objetos para cargar dicha tabla. Para insertar, instanciar la clase Grupo_Modelo y agregarlo a la coleccion, para modificar, tomar el objeto de la coleccion y modificarlo y para borrarlo tomar de la coleccion y borrarlo.
Necesito que me orienten un poco porque no encuentro en la libreria de codeigniter para crear la coleccion. He agregado una clase coleccion en las librerias y en el core de codeigniter pero no la puedo instanciar (no encuentra la clase).
Hace semanas q estoy dando vueltas. A ver si me ayudan un poco.
Desde ya gracias.
Paso el codigo para que se orienten un poco.
Vista
Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>GRUPOS USUARIO</title>
<style type="text/css">
table{
padding: 40px;
margin: 10px 0px 0px 50px;
}
th{
padding: 15px;
background-color: #222;
color: #fff;
}
td{
padding: 15px;
background-color: #999999;
}
</style>
<script type="text/javascript">
function confirma(){
if (confirm("¿Realmente desea eliminar este grupo de usuario?")){
alert("El registro ha sido eliminado.") }
else {
return false
}
}
</script>
</head>
<body>
<table>
<th>ID</th>
<th>Grupo Usuario</th>
<th>Modificar</th>
<th>Eliminar</th>
<?php
if ($grupos_usuario){
foreach($grupos_usuario as $grupo)
{
?>
<tr>
<td><?=$grupo->grupo_usuario?></td>
<td><a href="<?=base_url()?>grupo_usuario/getGrupoUsuario/<?=$grupo->grupo_usuario?>">Modificar</a></td>
<td><a onclick=" if(confirma() == false) return false" href="<?=base_url()?>grupo_usuario/baja/<?=$grupo->grupo_usuario?>">Eliminar</a></td>
</tr>
<?php
}
}else{
?>
<tr>
<td colspan="7" align="center">No hay grupos de usuarios registrados</td>
</tr>
<?php
}
?>
</table>
<div class="opciones_login">
<div class="link_registrarse">
<?= anchor('grupo_usuario/altaGrupo', 'Agregar Grupo Usuario');?>
</div>
</div>
</body>
</html>
Controller
Código:
<?php
class Grupo_Usuario extends CI_Controller{
private $Collgrupo;
function __contruct(){
parent::__construct();
$this->load->model('Grupo_Usuario_Modelo');
$this->load->model('CatalogoGrupos');
$this->load->helper('form');
$this->load->library('form_validation');
}
function index(){
$this->load->model('CatalogoGrupos');
$Collgrupos = $this->CatalogoGrupos->getGruposUsuario();
$data['grupos_usuario'] = $Collgrupos;
$data['main_content'] = 'grupo_usuario/grupo_usuario';
$this->load->view('includes/template', $data);
$data['title'] = 'GRUPOS USAURIO';
$data['texto_cabecera'] = 'Grupo Usuario';
}
function alta(){
$grupo = $this->load->model('Grupo_Usuario_Modelo');
$grupo->grupo_usuario = $this->input->post('grupo_usuario');
$this->load->model('CatalogoGrupos');
$this->CatalogoGrupos->altaGrupoUsuario($grupo);
$this->index();
}
function altaGrupo(){
$data['title'] = 'Crear un nuevo grupo usuario';
$data ['main_content'] = 'grupo_usuario/altaGrupo';
$this->load->view('includes/template', $data);
}
function baja(){
$this->load->model('CatalogoGrupos');
$data = $this->uri->segment(3);
$this->CatalogoGrupos->bajaGrupoUsuario($data);
$this->index();
}
function modificar() {
$data['grupo_usuario'] = $this->Collgrupo;
$data2['grupo_usuario'] = $_POST['grupo_usuario'];
//cargamos el modelo y llamamos a la función update()
$this->load->model('CatalogoGrupos');
$this->CatalogoGrupos->modiGrupoUsuario($data, $data2);
//volvemos a cargar la primera vista
$this->index();
}
function getGrupoUsuario($grupo_usuario) {
$this->load->model('CatalogoGrupos');
$this->Collgrupo = $this->CatalogoGrupos->getGrupoUsuario($grupo_usuario);
$data['grupo'] = $grupo_usuario;
$data['main_content'] = 'grupo_usuario/getGrupoUsuario';
$this->load->view('includes/template', $data);
//$data['main_content'] = 'grupo_usuario/getGrupoUsuario';
//$this->load->view('includes/template', $data);
// $data['grupo'] = $this->CatalogoGrupos->getGrupoUsuario($grupo_usuario);
//$data['main_content'] = 'grupo_usuario/getGrupoUsuario';
//$this->load->view('includes/template', $data);
}
}
?>
Model
Código:
<?php
class Grupo_Usuario_Modelo extends CI_Model{
private $grupo_usuario;
function __contruct(){
parent::__construct();
}
}
<?php
class CatalogoGrupos extends CI_Model{
private $collection = array();
function __contruct(){
parent::__construct();
$this->load->library('ArrayCollection');
$this->load->library('Collection');
}
function altaGrupoUsuario($grupo){
$data = array(
'grupo_usuario' => $grupo->grupo_usuario,
);
$coll = new ArrayObject($this->collection);
$coll->append($grupo->grupo_usuario);
$query = $this->db->insert('grupo_usuario',$data);
return $query;
}
function modiGrupoUsuario($data, $data2) {
}
function bajaGrupoUsuario($data){
$this->db->where('grupo_usuario',$data);
return $this->db->delete('grupo_usuario');
}
function getGruposUsuario(){
$query = $this->db->get('grupo_usuario');
if($query->num_rows()>0)
{
foreach ($query->result() as $fila)
{
$this->collection[] = $fila;
}
$coll = new ArrayObject($this->collection);
echo $coll->count();
return $this->collection;
}
}
function getGrupoUsuario($grupo_usuario){
if ($this->collection == $grupo_usuario){
return TRUE;
}
}
}