I resolved that problem...

I resolved that problem...

am 27.11.2007 22:28:21 von laastos

I created two classes Conexion.php and Consulta.php, I show you the
code:

/*
Clase Conexion:
Clase encargada de conectarse directamente con la base de datos de
MySQL.
*/
class Conexion {
var $vinculo;
var $resultado;
var $sentenciaSQL;

/*
Funci=F3n iniciarConexion():
Funci=F3n para iniciar la conexi=F3n con la base de datos.
Par=E1metros:
Ninguno.
Retorno:
TRUE si la conexi=F3n se logra correctamente.
FALSE si la conexion no se logra correctamente.
*/
function iniciarConexion()
{
$this->vinculo =3D mysql_connect(SISTEMA_HOST.":".SISTEMA_PORT,
SISTEMA_USERNAME, SISTEMA_PASSWORD);
if ($this->vinculo == false) {
return FALSE;
exit();
}
if (!mysql_select_db(SISTEMA_DATABASE, $this->vinculo)) {
return FALSE;
exit();
}
return TRUE;
}

/*
Funci=F3n cerrarConexi=F3n():
Funci=F3n para cerrar la conexi=F3n con la base de datos.
Par=E1metros:
Ninguno.
Retorno:
TRUE si la desconexion se logra correctamente.
FALSE si la desconexi=F3n no se logra correctmente.
*/
function cerrarConexion()
{
if (!mysql_close($this->vinculo)) {
return FALSE;
exit();
}
return TRUE;
}

/*
Funci=F3n consultaInternaSQL():
Funci=F3n para hacer una consulta a la base de datos.
Par=E1metros:
Cadena de caracteres con la consulta en SQL.
Retorno:
TRUE si la consulta se logra correctamente.
FALSE si la consulta se logra correctamente.
*/
function consultaInternaSQL($sql)
{
$this->sentenciaSQL =3D $sql;
$this->resultado =3D mysql_query($sql, $this->vinculo);
if (!$this->resultado) {
return FALSE;
exit();
}
return TRUE;
}

/*
Funci=F3n obtenerDatos():
Funci=F3n para obtener los datos de la consulta SQL realizada.
Par=E1metros:
Tipo de asociaci=F3n de los datos de la consulta: Asociativo, Num=E9rico
o Ambos.
Retorno:
FALSE si la obtencion no resulta satisfactoria.
Array con la informaci=F3n de la consulta.
*/
function obtenerDatos($arrayType =3D SISTEMA_ASSOC)
{
if (!$this->resultado) {
return FALSE;
exit();
}

switch ($arrayType) {
case SISTEMA_ASSOC:
$mysqlArrayType =3D MYSQL_ASSOC;
break;
case SISTEMA_NUM:
$mysqlArrayType =3D MYSQL_NUM;
break;
case SISTEMA_BOTH:
$mysqlArrayType =3D MYSQL_BOTH;
break;
default:
$mysqlArrayType =3D MYSQL_ASSOC;
}

$temporal =3D array();
while ($dato =3D mysql_fetch_array($this->resultado, $mysqlArrayType))
array_push($temporal, $dato);

$datos =3D array();
while (sizeof($temporal)) array_push($datos, array_pop($temporal));

return $datos;

}

/*
Funci=F3n numeroTuplasAfectadas():
Funci=F3n para saber el n=FAmero de tuplas afectadas por una sentencia
INSERT, UPDATE =F3 DELETE.
Par=E1metros:
Ninguno.
Retorno:
N=FAmero de tuplas afectadas.
*/
function numeroTuplasAfectadas()
{
return mysql_affected_rows($this->vinculo);
}

/*
Funci=F3n numeroTuplasResultado():
Funci=F3n para saber el n=FAmero de tuplas de un resultado SQL.
Par=E1metros:
Ninguno.
Retorno:
N=FAmero de tuplas del resultado.
*/
function numeroTuplasResultado()
{
if (stristr($this->sentenciaSQL, "select") OR stristr($this-
>sentenciaSQL, "SELECT"))
return mysql_num_rows($this->resultado);
else return 0;
}
}

And the second class...

require_once("Conexion.php");

class Consulta {
var $conexion;
var $cadenaSQL =3D "";
var $consulta;

function conectar() {
$this->conexion =3D new Conexion();
$this->conexion->iniciarConexion();
}

function desconectar() {
$this->conexion->cerrarConexion();
unset($this->conexion);
}

function consultaExternaSQL($sql, $arrayType =3D SISTEMA_ASSOC) {
$this->consulta =3D NULL;
$this->cadenaSQL =3D $sql;
$this->conectar();
$this->conexion->consultaInternaSQL($sql);
if ($this->conexion->numeroTuplasResultado() > 0) $this->consulta =3D
$this->obtenerDatos($arrayType);
$this->desconectar();
return $this->obtenerResultado();
}

function obtenerDatos($arrayType) {
return $this->conexion->obtenerDatos($arrayType);
}

function obtenerResultado() {
return $this->consulta;
}

function obtenerSQL() {
return $this->cadenaSQL;
}

function obtenerSiguienteIdentificadorTabla($nombreTabla) {
$consulta =3D $this->consultaExternaSQL("SELECT max(id) AS maximo FROM
".$nombreTabla."");
$consulta =3D array_pop($consulta);
if (!empty($consulta['maximo'])) return $consulta['maximo'] + 1;
else return 1;
}

}

Re: I resolved that problem...

am 27.11.2007 22:48:56 von Kailash Nadh

On Nov 27, 9:28 pm, laastos wrote:
> I created two classes Conexion.php and Consulta.php, I show you the
> code:
>
> /*
> Clase Conexion:
> Clase encargada de conectarse directamente con la base de datos de
> MySQL.
> */
> class Conexion {
> var $vinculo;
> var $resultado;
> var $sentenciaSQL;
>
> /*
> Funci=F3n iniciarConexion():
> Funci=F3n para iniciar la conexi=F3n con la base de datos.
> Par=E1metros:
> Ninguno.
> Retorno:
> TRUE si la conexi=F3n se logra correctamente.
> FALSE si la conexion no se logra correctamente.
> */
> function iniciarConexion()
> {
> $this->vinculo =3D mysql_connect(SISTEMA_HOST.":".SISTEMA_=
PORT,
> SISTEMA_USERNAME, SISTEMA_PASSWORD);
> if ($this->vinculo == false) {
> return FALSE;
> exit();
> }
> if (!mysql_select_db(SISTEMA_DATABASE, $this->vinculo)) {
> return FALSE;
> exit();
> }
> return TRUE;
> }
>
> /*
> Funci=F3n cerrarConexi=F3n():
> Funci=F3n para cerrar la conexi=F3n con la base de datos.
> Par=E1metros:
> Ninguno.
> Retorno:
> TRUE si la desconexion se logra correctamente.
> FALSE si la desconexi=F3n no se logra correctmente.
> */
> function cerrarConexion()
> {
> if (!mysql_close($this->vinculo)) {
> return FALSE;
> exit();
> }
> return TRUE;
> }
>
> /*
> Funci=F3n consultaInternaSQL():
> Funci=F3n para hacer una consulta a la base de datos.
> Par=E1metros:
> Cadena de caracteres con la consulta en SQL.
> Retorno:
> TRUE si la consulta se logra correctamente.
> FALSE si la consulta se logra correctamente.
> */
> function consultaInternaSQL($sql)
> {
> $this->sentenciaSQL =3D $sql;
> $this->resultado =3D mysql_query($sql, $this->vinculo);
> if (!$this->resultado) {
> return FALSE;
> exit();
> }
> return TRUE;
> }
>
> /*
> Funci=F3n obtenerDatos():
> Funci=F3n para obtener los datos de la consulta SQL realizada.
> Par=E1metros:
> Tipo de asociaci=F3n de los datos de la consulta: Asociati=
vo, Num=E9rico
> o Ambos.
> Retorno:
> FALSE si la obtencion no resulta satisfactoria.
> Array con la informaci=F3n de la consulta.
> */
> function obtenerDatos($arrayType =3D SISTEMA_ASSOC)
> {
> if (!$this->resultado) {
> return FALSE;
> exit();
> }
>
> switch ($arrayType) {
> case SISTEMA_ASSOC:
> $mysqlArrayType =3D MYSQL_ASSOC;
> break;
> case SISTEMA_NUM:
> $mysqlArrayType =3D MYSQL_NUM;
> break;
> case SISTEMA_BOTH:
> $mysqlArrayType =3D MYSQL_BOTH;
> break;
> default:
> $mysqlArrayType =3D MYSQL_ASSOC;
> }
>
> $temporal =3D array();
> while ($dato =3D mysql_fetch_array($this->resultado, $mysq=
lArrayType))
> array_push($temporal, $dato);
>
> $datos =3D array();
> while (sizeof($temporal)) array_push($datos, array_pop($te=
mporal));
>
> return $datos;
>
> }
>
> /*
> Funci=F3n numeroTuplasAfectadas():
> Funci=F3n para saber el n=FAmero de tuplas afectadas por una sente=
ncia
> INSERT, UPDATE =F3 DELETE.
> Par=E1metros:
> Ninguno.
> Retorno:
> N=FAmero de tuplas afectadas.
> */
> function numeroTuplasAfectadas()
> {
> return mysql_affected_rows($this->vinculo);
> }
>
> /*
> Funci=F3n numeroTuplasResultado():
> Funci=F3n para saber el n=FAmero de tuplas de un resultado SQL.
> Par=E1metros:
> Ninguno.
> Retorno:
> N=FAmero de tuplas del resultado.
> */
> function numeroTuplasResultado()
> {
> if (stristr($this->sentenciaSQL, "select") OR stristr($thi=
s->sentenciaSQL, "SELECT"))
>
> return mysql_num_rows($this->resultado);
> else return 0;
> }
>
> }
>
> And the second class...
>
> require_once("Conexion.php");
>
> class Consulta {
> var $conexion;
> var $cadenaSQL =3D "";
> var $consulta;
>
> function conectar() {
> $this->conexion =3D new Conexion();
> $this->conexion->iniciarConexion();
> }
>
> function desconectar() {
> $this->conexion->cerrarConexion();
> unset($this->conexion);
> }
>
> function consultaExternaSQL($sql, $arrayType =3D SISTEMA_ASSOC) {
> $this->consulta =3D NULL;
> $this->cadenaSQL =3D $sql;
> $this->conectar();
> $this->conexion->consultaInternaSQL($sql);
> if ($this->conexion->numeroTuplasResultado() > 0) $this->c=
onsulta =3D
> $this->obtenerDatos($arrayType);
> $this->desconectar();
> return $this->obtenerResultado();
> }
>
> function obtenerDatos($arrayType) {
> return $this->conexion->obtenerDatos($arrayType);
> }
>
> function obtenerResultado() {
> return $this->consulta;
> }
>
> function obtenerSQL() {
> return $this->cadenaSQL;
> }
>
> function obtenerSiguienteIdentificadorTabla($nombreTabla) {
> $consulta =3D $this->consultaExternaSQL("SELECT max(id) AS=
maximo FROM
> ".$nombreTabla."");
> $consulta =3D array_pop($consulta);
> if (!empty($consulta['maximo'])) return $consulta['maximo'=
] + 1;
> else return 1;
> }
>
> }

hm?

--
Kailash Nadh | http://kailashnadh.name