Ahora quiero empezara realizar las clases para todo este diseño.
En realidad yo tengo hecha una clase astracta (con el famoso die en el constructor) que me permite conectarme a mi base ded datos y hacer algunas cositas mas con algunos registros.
Nombre: Class
Registro Propiedades $id
$last_id
$dB_server
$dB_username
$dB_pass
$dB_name
$dB_tabla
$dB_manejador
Metodos Prp_Id ()
Prp_Last_Id ()
DB_Tabla ()
Conf_dB ($server, $username, $pass, $name)
Conex_dB ()
Desconex_dB ()
Del_Reg ()
Imprimir_DB ()
Con esta clase yo me puedo conectarme a cualquier tabla de mi base de datos, ya que todas constan con el campo
id, auqnue creo que podria asignarle una propiedad a la clase con el nombre del campo indice de la tabla a la cual yo me quiero conectar.
Código PHP:
<?php
/*
* Nombre de la clase: Registro ()
* Nombre de archivo: class_registro.php
* Instanciable: NO
* Hererada: NO
*
* Inicio de diseño: 10 de Mayo del 2004
* Ultima modificacion: 10 de Mayo del 2004
*
* Damian Suarez
* [email][email protected][/email]
*/
class Registro
{
// *************************************************************************
// * Propiedades *
// *************************************************************************
var $id; // $id es el identificador del objeto
var $last_id; // $last_id es el ultimo id de la tabla
var $dB_server; // Server de la base de datos
var $dB_username; // Nombre de usuario de la base de datos
var $dB_pass; // Password para el usuario
var $dB_name; // Nombre de la base de datos
var $dB_tabla; // Tabla de trabajo de la base de datos
var $dB_manejador; // Manejador de la base de datos
// *************************************************************************
// * Metodos *
// *************************************************************************
// ***************
// * Constructor *
// ***************
// Con este constructor se logra que Registro sea una clase abstracta
function Registro ()
{
die ();
}
// **************************************************
// * Metodos para manejo de Propiedades de la clase *
// **************************************************
// Setter y Getter de la propiedad $this->id
function Prp_Id ()
{
switch (func_num_args())
{
case 1:
$this->id = func_get_arg(0);
case 0:
return $this->id;
} // End Switch
} // End Metodo
// Getter del ultimo id de la tabla
function Prp_Last_Id ()
{
// Sentencia SQL que buscal el mayor id de la tabla
$sql = "SELECT MAX( id ) AS max FROM $this->dB_tabla";
// Ejecutamos la sentencia SQL
$busqueda = mysql_query ($sql);
// Asociamos los resultados a una matriz
$matriz_id = mysql_fetch_row($busqueda);
$this->last_id = $matriz_id[0]; // $matriz_id[0] es el id del campo de la tabla
return $this->last_id;
} // End Metodo
// Setter y Getter de la propiedad $this->DB_Name
function DB_Tabla ()
{
switch (func_num_args())
{
case 1:
$this->dB_tabla = func_get_arg(0);
case 0:
return $this->dB_tabla;
} // End Switch
} // End Metodo
// *********************************************
// * Metodos para administrar la base de datos *
// *********************************************
// Metodo que configura las propiedades de la clase para la conexion con la base de datos
function Conf_dB ($server, $username, $pass, $name)
{
// Asignacion a las propiedades de la clase
$this->dB_server = $server;
$this->dB_username = $username;
$this->dB_pass = $pass;
$this->dB_name = $name;
} // End Function
// Conexion con la base de datos
function Conex_dB ()
{
// $manejador es el id que maneja la base de datos
$manejador = mysql_connect($this->dB_server, $this->dB_username, $this->dB_pass);
$this->dB_manejador = $manejador;
mysql_select_db ($this->dB_name);
} // End Metodo
// Desconexion con la base de datos
function Desconex_dB ()
{
mysql_close($this->dB_manejador);
}
// Borra un registro de la tabla de la base de datos
function Del_Reg ()
{
// Sentencia SQL para borra un registro
$sql = "DELETE FROM $this->dB_tabla WHERE id='$this->id'";
// Ejecucion de la sentencia SQL
mysql_query ($sql);
} // End Metodo
// Metodo que Imprime los datos de la conexion de labase de datos
function Imprimir_DB ()
{
echo '<hr>';
echo '<h2>Propiedades de la base de Datos</h2>';
echo 'DataBase Server: <b>'.$this->dB_server.'</b><br>';
echo 'DataBase Username: <b>'.$this->dB_username.'</b><br>';
echo 'DataBase Password: <b>'.$this->dB_pass.'</b><br>';
echo 'Nombre de la base de datos: <b>'.$this->dB_name.'</b><br>';
echo '<br>Nombre de la Tabla de trabajo: <b>'.$this->dB_tabla.'</b><br>';
echo 'Numero de manejador: <b>'.$this->dB_manejador.'</b>';
echo '<hr>';
}
} // Fin de la clase Registro
?>