Reply to Re: I resolved that problem...

Your name:

Reply:


Posted by Kailash Nadh on 11/27/07 21:48

On Nov 27, 9:28 pm, laastos <laas...@gmail.com> 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ón iniciarConexion():
> Función para iniciar la conexión con la base de datos.
> Parámetros:
> Ninguno.
> Retorno:
> TRUE si la conexión se logra correctamente.
> FALSE si la conexion no se logra correctamente.
> */
> function iniciarConexion()
> {
> $this->vinculo = 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ón cerrarConexión():
> Función para cerrar la conexión con la base de datos.
> Parámetros:
> Ninguno.
> Retorno:
> TRUE si la desconexion se logra correctamente.
> FALSE si la desconexión no se logra correctmente.
> */
> function cerrarConexion()
> {
> if (!mysql_close($this->vinculo)) {
> return FALSE;
> exit();
> }
> return TRUE;
> }
>
> /*
> Función consultaInternaSQL():
> Función para hacer una consulta a la base de datos.
> Parámetros:
> 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 = $sql;
> $this->resultado = mysql_query($sql, $this->vinculo);
> if (!$this->resultado) {
> return FALSE;
> exit();
> }
> return TRUE;
> }
>
> /*
> Función obtenerDatos():
> Función para obtener los datos de la consulta SQL realizada.
> Parámetros:
> Tipo de asociación de los datos de la consulta: Asociativo, Numérico
> o Ambos.
> Retorno:
> FALSE si la obtencion no resulta satisfactoria.
> Array con la información de la consulta.
> */
> function obtenerDatos($arrayType = SISTEMA_ASSOC)
> {
> if (!$this->resultado) {
> return FALSE;
> exit();
> }
>
> switch ($arrayType) {
> case SISTEMA_ASSOC:
> $mysqlArrayType = MYSQL_ASSOC;
> break;
> case SISTEMA_NUM:
> $mysqlArrayType = MYSQL_NUM;
> break;
> case SISTEMA_BOTH:
> $mysqlArrayType = MYSQL_BOTH;
> break;
> default:
> $mysqlArrayType = MYSQL_ASSOC;
> }
>
> $temporal = array();
> while ($dato = mysql_fetch_array($this->resultado, $mysqlArrayType))
> array_push($temporal, $dato);
>
> $datos = array();
> while (sizeof($temporal)) array_push($datos, array_pop($temporal));
>
> return $datos;
>
> }
>
> /*
> Función numeroTuplasAfectadas():
> Función para saber el número de tuplas afectadas por una sentencia
> INSERT, UPDATE ó DELETE.
> Parámetros:
> Ninguno.
> Retorno:
> Número de tuplas afectadas.
> */
> function numeroTuplasAfectadas()
> {
> return mysql_affected_rows($this->vinculo);
> }
>
> /*
> Función numeroTuplasResultado():
> Función para saber el número de tuplas de un resultado SQL.
> Parámetros:
> Ninguno.
> Retorno:
> Número 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 = "";
> var $consulta;
>
> function conectar() {
> $this->conexion = new Conexion();
> $this->conexion->iniciarConexion();
> }
>
> function desconectar() {
> $this->conexion->cerrarConexion();
> unset($this->conexion);
> }
>
> function consultaExternaSQL($sql, $arrayType = SISTEMA_ASSOC) {
> $this->consulta = NULL;
> $this->cadenaSQL = $sql;
> $this->conectar();
> $this->conexion->consultaInternaSQL($sql);
> if ($this->conexion->numeroTuplasResultado() > 0) $this->consulta =
> $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 = $this->consultaExternaSQL("SELECT max(id) AS maximo FROM
> ".$nombreTabla."");
> $consulta = array_pop($consulta);
> if (!empty($consulta['maximo'])) return $consulta['maximo'] + 1;
> else return 1;
> }
>
> }

hm?

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

[Back to original message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация