Ver Mensaje Individual
  #5 (permalink)  
Antiguo 07/01/2010, 18:18
kof3d
 
Fecha de Ingreso: diciembre-2007
Mensajes: 42
Antigüedad: 17 años, 3 meses
Puntos: 0
Respuesta: Conexión a BD MySQL y consultas anidadas

Salidos, realicé unos cambios y creo que el patron singleton ya está funcionando...

Ahora bien, cuando voy a imprimir la seccion y sus categorias... solo muestra la primera sección con sus categorias pero no muestra más resultados...

Código PHP:
    class bd_mysql {
        
/* Variables de conexion */
        
private $servidor;
        private 
$usuario_bd;
        private 
$clave_bd;
        private 
$database;
        
        private static 
$instance;
        
        
/* Identificador de conexión y consulta */
        
private $conexion_id;
        private 
$consulta_id;
        
        
/* Método constructor */
        
private function __construct(){
            
$this->servidor "localhost";
            
$this->usuario_bd "root";
            
$this->clave_bd "mysql";
            
$this->database "dumpingoo";
            
$this->conectar();
        }
        
        public static function 
singleton(){
            if (!isset(
self::$instance)) {
                
$c __CLASS__;
                
self::$instance = new $c;
            }
            return 
self::$instance;
        }

        
/* Clone no permitido */
        
public function __clone(){
            
trigger_error('Clone no se permite.'E_USER_ERROR);
        }

        
/*Conexion a la bd*/
        
public function conectar(){
            
/* Conectamos al servidor */
            
$this->conexion_id=mysql_connect($this->servidor$this->usuario_bd$this->clave_bd);
                        
            
/* Seleccionamos la base de datos */
            
mysql_select_db($this->database$this->conexion_id);
        }
        
        public function 
consultar($query){
            if(!empty(
$query)){
                
/* Ejecutamos la consulta */
                
$this->consulta_id=mysql_query($query$this->conexion_id);
            }
        }
        
        
/* Almacenamos el resultado de la consulta en un objeto */
        
public function ver_consulta(){
            return 
mysql_fetch_object($this->consulta_id"bd_mysql");
        }
    } 
Para imprimir las secciones y sus categorias utilizo un ciclo do_while anidado...

Código PHP:
<?
                
do{
                
?>
                    <li><span><? echo $sec->nombre_seccion?></span>
                        <ul>
                            <?
                            $categoria
->consultar("select nombre_categoria, id_categoria from categorias where id_seccion='".$sec->id_seccion."'");
                            
$cat $categoria->ver_consulta();
                            
                            do{
                            
?>
                                <li><a href="categoria.php?ide=<? echo $cat->id_categoria?>" title=""><? echo $cat->nombre_categoria?></a></li>
                            <?
                            
}while($cat $categoria->ver_consulta());
                            
?>
                        </ul>
                    </li>
                    <br />
                <?
                
}while($sec $seccion->ver_consulta());
                
?>
Espero nuevas luces en este sentido... muchas gracias por su tiempo...