29/04/2006, 04:38
|
| | | Fecha de Ingreso: abril-2002
Mensajes: 137
Antigüedad: 22 años, 8 meses Puntos: 0 | |
Aqui va algo de codigo..
config.php es donde tengo los parametros de conexion
//La clase SQL es donde realizo todas la operaciones de SQL SELECT, UPDATE, DELETE, LISTAS, COUNT, VALORREGISTRO, DEVOLVER FILA...
Y con el DATABASETYPE (MYSQL, MSSQL, ODBC)
Es decir un clase funcional para cualquier base de datos.
//----------------- SQL ---------------------
class SQL{
//Parametros de conexion
public $SERVER;
public $USER;
public $PASSWD;
public $DATABASE;
public $DATABASETYPE;
//Parametros de SQL
private $link;
private $result;
private $row;
//************* Connect ************************
public function Connect(){ .....}
//************* Query ************************
public function Query($query){ .....}
....... y mas metodos.
}
// --------------------- A --------------------------
class A{
// Variables de Classe
public $A_CODIGO = "";
public $A_NOMBRE = "";
public $A_DESCRIPCION = "";
private $SQL;
// **** Constructor ****
function __construct() {
include($_SERVER['DOCUMENT_ROOT'] . '/config.php');
$this->SQL = new SQL();
$this->SQL->DATABASETYPE = $DATABASETYPE;
$this->SQL->SERVER = $SERVER;
$this->SQL->DATABASE = $DATABASE;
$this->SQL->USER = $USER;
$this->SQL->PASSWD = $PASSWD;
$this->SQL->Connect();
}
function Guardar(){ ...Guardo un registro ...
$query = "Insert into A ....."
$this->SQL->Query($query);
}
function Borrar(){ ...Borro un registro..}
.... y otros metodos de la clase
}
// --------------------- B --------------------------
class B{
// Variables de Classe
public $B_CODIGO = "";
public $B_NOMBRE = "";
public $B_DESCRIPCION = "";
private $SQL;
// **** Constructor ****
function __construct() {
include($_SERVER['DOCUMENT_ROOT'] . '/config.php');
$this->SQL = new SQL();
$this->SQL->DATABASETYPE = $DATABASETYPE;
$this->SQL->SERVER = $SERVER;
$this->SQL->DATABASE = $DATABASE;
$this->SQL->USER = $USER;
$this->SQL->PASSWD = $PASSWD;
$this->SQL->Connect();
}
function Guardar(){ .....
$query = "Insert into B ....."
$this->SQL->Query($query);
}
function Borrar(){ .....}
.... y otros metodos de la clase
function Lista(){ ..Me muestra los valores en una tabla...}
.... y otros metodos de la clase
}
--------------------
Entonces desde el main..
al preparar las acciones a realizar con alguna clase..
$A = new A();
$A->Lista();
$B = new B();
$B->Lista()
unset($B)
unset($A)
En problema esta en que al parecer al realizar la
$A->Lista();
$SQL dentro de A se guardan sus respectivos datos
$B->Lista();
pero no se porque al realizar la lista de B los datos de A son modificados.
si luego queiro acceder a los datos de A.
el otro problema es que al realizar el unset(B) me libera $SQL de todos y luego si realizo el unset de(A) $SQL ya no lo localiza porque ha sido liberado.
Igual el problema es en el constructor de A y B que lo estoy haciendo mal.
y deveria crear un herencia SQL de A y SQL de B. Lo que no se si he de conciderar eso una herencia... ya que son funciones que se utilizo en todas las clases creadas...
Saludos y agradeceria cualquier ayuda.. |