lunes, 13 de julio de 2009

Clase Query Conexión

Al parecer podré volver a lo que tanto me gusta que es postear en mi blog, no estoy muy seguro pero el día de hoy tendré Internet en mi casa, vamos a ver; ahora estoy conectado en una inalámbrica abierta de quien sabe que inteligente :D.

Buenos, el día de ayer estaba desarrollando unos módulos para SugarCRM y se me salió la brillante idea (cof, cof, que modestia) de realizar una clase que me permitiera conectarme, hacer querys y hasta ahí voy, esto lo hicé con PHP y pues quisé implementarla en Python, esto fue lo que me salió, por ahora me ha servido para los módulos que estoy implementando en el SugarCRM, después los utilizaré en Python para las nuevas versiones de dansguardian configurator.

Código PHP

class SQL
{
public $host = 'localhost';
public $db = 'sugarcrm';
public $user = 'usdist';
public $password = 'clio1214';

public function conectar()
{
$this->database = mysql_connect($this->host, $this->user, $this->password) or die("No se pudo conectar con el servidor".mysql_error());
@mysql_select_db($this->db) or die( "No se pudo conectar a la db: " . mysql_error());
}

public function query($query)
{
$result = mysql_query($query) or die(mysql_error());
return $result;
}

}

function llenarArray($query, $posiID=0, $posiNombre=1)
{
//Creamos el objeto y nos conectamos
$objeto = new SQL();
$objeto->conectar();

//Apuntamos hacia las variables creadas
$cantidad = $objeto->query($query); //Obtengo el array de la consulta

//Creamos diccionarios como en Python, en PHP lo llaman Array,
//o como lo llamabamos en la Universidad un vector :P

$miarray = array();
while ($row=mysql_fetch_array($cantidad))
{
$id = $row[$posiID];
$name = $row[$posiNombre];
$miarray[$id] = $name;
}
return $miarray;
}
?>

Código Python

import MySQLdb

class Configuracion:
#Acordaos hijos mios que el __init__ no es el constructor, es el instanciador
def __init__( self, host='localhost', user='', password='', db='' ):
#Instancio las variables a usar
self.host = host
self.db = db
self.user = user
self.password = password
self.cursor = ''

def conectarDB( self ):
self.db = MySQLdb.connect(host=self.host, user=self.user, passwd=self.password, db=self.db)
self.cursor = self.db.cursor()

def mysqlQuery( self, query ):
self.cursor.execute(query)
registro = self.cursor.fetchall()
return registro

1 comentarios:

Daniel Torres dijo...

yo quiero aprender a desarrollar modulos en sugar tienes algun tutorial?