Foros del Web » Programando para Internet » PHP » CodeIgniter »

Coleccion de objetos en PHP

Estas en el tema de Coleccion de objetos en PHP en el foro de CodeIgniter en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 16/10/2012, 22:04
 
Fecha de Ingreso: septiembre-2006
Mensajes: 14
Antigüedad: 18 años, 1 mes
Puntos: 0
Ayuda: Coleccion de objetos en PHP

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;
                    
                }

        }
   
}

Última edición por rodrigomolinari; 17/10/2012 a las 09:43
  #2 (permalink)  
Antiguo 18/10/2012, 15:18
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 9 meses
Puntos: 288
Respuesta: Coleccion de objetos en PHP

y es dificil y medio largo...
no probaste debuguando con el x.debug?
fijate paso a paso primero por que no se cargan las librerias (yo te recomiendo hacer el require con los paths absolutos para comprobar que se cargan bien)
una vez hecho eso por des pasar al siguiente paso que es armar la colleccion de objetos
  #3 (permalink)  
Antiguo 19/10/2012, 09:48
 
Fecha de Ingreso: septiembre-2006
Mensajes: 14
Antigüedad: 18 años, 1 mes
Puntos: 0
Respuesta: Coleccion de objetos en PHP

si probe con el xdebug pero no me cargan ninguno de los CI q extiendo de las clases que hago. Necesito seguir los casos de usos y con codeigniter los puedo seguir bastante bien. Con YII es todo muy cerrado y no puedo seguir los Casos de uso que tengo. Que me aconsejan muchachos???

Seguir con codeigniter o cambiar de framework???

Etiquetas: coleccion, html, mysql, objetos, php, registro, tabla, usuarios
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:59.