Classe para manipulação do BB (MySQL)

Publicado por André Lourenço Pedroso 26/02/2007

[ Hits: 5.098 ]

Homepage: http://apedroso.blogspot.com

Download acessaBasedeDados.class.php




Classe para facilitar o acesso às informações de uma tabela.

==> Mandem dicas para melhorias: ainda está simples, porém muito útil.

  



Esconder código-fonte

<?php
// *
// * @author Andre Lourenco Pedroso - alp.pedroso@gmail.com
// *
// * @date 10 de Janeiro de 2007
// *

/**
 * Manipulação de bando de dados.
 *
 * @method
 * conectar(), desconectar(), executa($sql), consultar($sql), primeiraLinha(),
 * ultimaLihna(), proximaLinha(), voltarLinha(), conteudoDaLinha().
 *
 */
class acessoBaseDeDados
{
   private $con;
   private $resultado;
   private $nlinhas;
   private $linha;
   private $dados;

   private $host;
   private $user;
   private $pass;
   private $bd;


   function acessoBaseDeDados($host="", $user="", $pass="", $bd="")
   {
      $this->host = $host;
      $this->user = $user;
      $this->pass = $pass;
      $this->bd   = $bd;
   }

   /**
    *
    * Abre a conexao.
    *
    * @access public
    *
    */
   public function conectar()
   {
      $this->con = mysql_connect($this->host, $this->user, $this->pass)or die('Não foi possível conectar: ' . mysql_error());
      mysql_select_db($this->bd) or die('Não foi possível selecionar o banco da dados');
   }


   /**
    *
    * Fecha a conexao.
    *
    * @access public
    *
    */
   public function desconectar()
   {
      mysql_close($this->con);
   }

   /**
    *
    * Manipula dados da tabela atravez de SQL.
    *
    * @access public
    *
    */
   public function executa($sql)
   {
      mysql_query($sql, $this->con) or die ("Erro ao executar o comando! ->".mysql_error());
   }

   /**
    *
    * Carrega a consulta e aponta para primeira linha.
    *
    * @access public
    *
    */
   public function consultar($sql)
   {
      $this->resultado = mysql_query($sql, $this->con);
      if ($this->resultado)
      {
         $this->nlinhas   = mysql_num_rows($this->resultado);
         $this->linha     = 0;
      }
   }

   /**
    *
    * Retorna a primeira linha da consulta feita pelo metodo navegar.
    *
    * @access public
    * @return Array
    *
    */
   public function primeiraLinha()
   {
      $this->linha = 0;
      $this->conteudoDaLinha();
      return $this->dados;
   }

   /**
    *
    * Retorna a ultima linha da consulta feita pelo metodo navegar.
    *
    * @access public
    * @return Array
    *
    */
    public function ultimaLinha()
    {
       $this->linha = $this->nlinhas-1;
       $this->conteudoDaLinha();
       return $this->dados;
    }

   /**
    *
    * Retorna a proxima linha de acordo com o valor de $linha.
    *
    * @access public
    * @return Array
    *
    */
   public function proximaLinha()
   {
      if($this->linha < $this->nlinhas-1)
      {
         $this->linha++;
         $this->conteudoDaLinha();
         return $this->dados;
      }
      else
      {
         return NULL;
      }
   }

   /**
    *
    * Retorna a linha anterior de acordo com o valor de $linha.
    *
    * @access public
    * @return Array
    *
    */
   public function voltarLinha()
   {
      if($this->linha > 0)
      {
         $this->linha--;
         $this->conteudoDaLinha();
         return $this->dados;
      }
      else
      {
         $this->conteudoDaLinha();
         return $this->dados;
      }
   }

   /**
    *
    * Aponta para a linha passada pelas funcoes que a chama e
    * grava o resultado em $dados.
    *
    * @access private
    *
    */
   private function conteudoDaLinha()
   {
      mysql_data_seek($this->resultado, $this->linha);
       $this->dados = mysql_fetch_array($this->resultado);
   }
}
?>

Scripts recomendados

Sistema php com Sqlite

Nova conexão ao banco de dados PDO

Script SQL para banco de sistemas de postagens de artigos 1.0

Classe para funções de BD

Sistema Merenda Escolar


  

Comentários
[1] Comentário enviado por Rustin em 27/02/2007 - 11:34h

Bem, não querendo tirar o mérito de ninguém, acho que isso é reiventar a roda. Já temos várias aplicações que fazem esse trabalho muito bem, com suporte a vários SGDBs. Mas se o que se quer é uma solução simples para MySQL, pode ser uma boa :)

Um abraço.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts