Código PHP:
class bd_mysql {
/* Variables de conexion */
private $servidor;
private $usuario_bd;
private $clave_bd;
private $database;
/* Variable de resultados de la consulta */
private $resultado;
/* Identificador de conexión y consulta */
private $conexion_id;
private $consulta_id;
/* Método constructor */
public function __construct(){
$this->servidor = "localhost";
$this->usuario_bd = "root";
$this->clave_bd = "mysql";
$this->database = "dumpingoo";
}
/*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(){
$this->resultado=mysql_fetch_object($this->consulta_id, "bd_mysql");
return $this->resultado;
}
public function ver_resultado(){
return $this->resultado;
}
/* Cerramos la conexión con la base de datos */
public function cerrar_conexion(){
mysql_close($this->conexion_id);
}
/* Libera el contenido que se encuentra en el atributo */
public function limpiar_consulta(){
mysql_free_result($this->consulta_id);
}
}
Sección 1
- Categoria 1
- Categoria 2
- Categoria 3
Sección 2
- Categoria 1
- Categoria 2
- Categoria 3
...
Pero utlizando mi clase tendría que crear varias conexiones a la BD lo cual no es correcto
Código PHP:
include_once("index.class.php");
$seccion = new bd_mysql;
$seccion->conectar();
$seccion->consultar("select nombre_seccion, id_seccion from secciones");
$seccion->ver_consulta();
$categoria = new bd_mysql;
$categoria->conectar();
/* Aqui el codigo con la consulta anidada para obtener la categoria de cada sección */
Para solucionarlo he leido un poco sobre el patrón singleton pero con este tendría el problema de que se modificaría el valor de la consulta y su respuesta...
Me gustaria que me ayudaran a encontrar una solución optima, ¿tendrá que utilizar herencia para que la clase 'madre' controle la conexión y en las extendidas hacer la consulta?
Bueno espero sus sugerencias... en todo sentido...