Jump to content


Megaexl

Member Since 17/03/2004
Offline Last Active 27/07/2007, 14:01
-----

Topics I've Started

Classe Mysql

23/10/2006, 15:03

========================================

Título: Classe MySQL [ Não Tem Um Nome Real ]
Versão: 1.0

--------------------------------------------------------------------

Nome: Classe MySQL
Versão: 1.0
Funcionalidade: Aplicar uma maior praticidade no uso de MySql em sistemas PHP
Instalação: Não há, uso direto

Comentários: A classe é basicamente auto-explicavel mas vou postar um exemplo para ser melhor entendido.

Aqui vai a Classe:

conexao.php
<?
class db {

	var $con;
	var $res;
	var $lin;
	var $col;
	var $db;
	
	// Funcao Para Conexao com o Banco de Dados
	function db($sqlServer,$sqlDb,$sqlUser,$sqlPass)
	{
		$this->con = mysql_connect($sqlServer, $sqlUser,$sqlPass);
		$this->db = mysql_select_db($sqlDb);
	}
	
	// Executa Algum Comando SQL
	function query($sql = NULL,$select = TRUE)
	{	
		$sql = iconv("UTF-8","ISO-8859-1",$sql);
		if ($this->res = mysql_query($sql))
		{
			if ($select) {
				$this->lin = mysql_num_rows($this->res);
				$this->col = mysql_num_fields($this->res);
			}
		} else {
			$this->lin = 0;
			$this->col = 0;
		}
	}
		
	// Retorna os Resultados de uma Consulta
	function resultado($row)
	{	
		$linhas = mysql_fetch_array($this->res);
		for($i = 0; $i <= $row; $i++) {
			if ($i == $row) {
				return $linhas;
			}
			$linhas++;
		}
	}
	
	function allRes() {
		return mysql_fetch_all($this->res);
	}
	
	// Fecha Conexao com a Base de Dados
	function fecha()
	{
		mysql_close($this->con);
	}
	
	function name_fields()
	{
		$nomes = array();
		for( $i = 0; $i < $this->col; $i++ )
			$nomes[$i] = mysql_field_name( $this->res, $i );
	
		return $nomes;
	}
	
}//final class

function mysql_fetch_all($result) {
   while($row=mysql_fetch_array($result)) {
	   $return[] = $row;
   }
   return $return;
}

?>
E um exemplo simples de como usar:
<?
include('conexao.php'); // Inclui o arquivo da classe do MySQL
$sqlObj = new db('localhost','exemploWF','root','1234'); // Estancia o objeto SQL
$sqlObj->query("SELECT * FROM tabela"); // Executa um Select básico
if ($sqlObj->lin) { // Verifica se o total de resultados é maior que Zero
	 $res1 = $sqlObj->resultado(0); // Salva o primeiro retorno da query na variavel $res1
	 echo $res1['campo']; // Exibe o campo "campo" armazenado na variavel $res1
	 $resTot = $sqlObj->allRes(); // Salva TODA a query na variável $resTot
	 // $resTot[A][B] onde A é o id do resultado na query e B é o nome do campo
	 echo $resTot[1]['campo']; // Exibe o campo "campo" do segundo resultado da query
}
?>
Exemplinho simples, qualquer dúvida nas funções da query respondam o tópico...

========================================

IPB Skin By Virteq