Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/02/2006, 10:58
Znet
 
Fecha de Ingreso: marzo-2002
Ubicación: Salta Capital - Actualmente estudiando en Córdoba
Mensajes: 430
Antigüedad: 22 años, 1 mes
Puntos: 0
Usar un Objeto dentro de otro Objeto

Que tal gurus, me surgio un problemita que les comento a continuacion:

Tengo un clase, que se encarga de conectarse a la base de datos y realizar las consultas SQL, la misma es Db()

Y tengo la siguiente clase, en la cual necesito obviamente crear un objeto para manejar los datos con la BD, es la siguiente

Código PHP:
<?php

include('database.php');
class 
comercios
{
    var 
$conexion;//Retorna 1 resultado para trabajar con mysql_fetch...mysql_num...mysql_assoc
    
var $izq;
    var 
$datos;
    var 
$db;
    function 
comercios()
    {
        
$db = new Db();
        
$sql="SELECT campo FROM tabla WHERE indexar='1'";
        
$this->conexion=$db->consulta_db($sql);
        return 
$this->conexion;
    }
    
    function 
listar()
    {   
//MUESTRA LISTA EN HTML
        
$this->ordenar();
        if (empty(
$this->datos)) 
        {
            echo 
"NO HAY REGISTROS AÚN";// Editar Mensaje Por inexistencia de categorias
        
}
        else
        {
            echo 
"hay registros";
            
$datos=explode('-',$this->datos);
            
$coli=$datos[0];//Cantidad de filas de Izquierda
            
$cold=$datos[1];//Cantidad de filas de Derecha
            
$sql="SELECT campo FROM tabla WHERE indexar='1' Order by rubro Asc limit 0,1";
            
$this->db->
        }
                
    }
    
    function 
ordenar()
    {   
//Calcula categoria para armar matriz de 2 por x
        
$rubros=mysql_num_rows($this->conexion);
            
//$rubros=9;
        
if ($rubros!=0
        {
              
$division=$rubros/2;
              
$res=explode(".",$division);
            if (
strchr($division,'.')) //Funcion para determinar si sumar o no 1 a la parte izquierda
            
{
                
$izq=$res[0]+1;    
            }
            else 
            {
                
$izq=$res[0];
            }
            
$der=$rubros-$izq;
            
$this->datos=$izq."-".$der;
            return 
$this->datos;
        }        
    }
    
}
?>

Bueno la cosa es que en el método listar (), necesito hacer otra consulta a labase de datos, en realidad 2
Pero quiero saber si ha alguna forma de evitar crear un objeto a la base de datos para cada método que la necesite, o si puedo crear un solo objeto y trabajarlo en todos los metodos que quiera, en este ultimo caso, como lo podría hacer?

Desde ya muchas gracias
__________________
Nada es imposible, con un poco de esfuerzo se logran las cosas.-