Jump to content


Photo

Classe: Manipulação De Banco De Dados


  • Faça o login para participar
7 replies to this topic

#1 victorpfm

victorpfm

    Expert

  • Usuários
  • 566 posts
  • Sexo:Masculino

Posted 01/07/2005, 14:46

<?
/***************************************************
Descrição: Manipulação de banco de dados
Autor: Victor Melonio
***************************************************/
class class_db
{
	// Informações necessárias para a conexão
	var $dados = array ('servidor' => 'localhost',
      'usuario'  => 'root',
      'senha'    => '',
      'bd'       => '',
      'prefixo'  => ''
      );
	
	var $conexao_id;
	var $query_id;
	var $array;
	
	/*========================================================================*/
	// Conectar ao banco de dados
	/*========================================================================*/	
	function connect ()
	{
  // Definindo o prefixo
  if ( isset ($this->dados['prefixo']) )
  {
 	 define ( "prefixo", $this->dados['prefixo'] );
  }
  
  // Conexão com o servidor MySQL
  $this->conexao_id = mysql_connect ( $this->dados['servidor'],
         	 $this->dados['usuario'],
         	 $this->dados['senha']
           );
  // Verificar se a conexão foi estabelecida
  if ( ! $this->conexao_id )
  {
 	 $this->erro_fatal();
 	 return FALSE;
  }
  
  // Conexão com o banco de dados
  if ( ! mysql_select_db( $this->dados['bd'],$this->conexao_id )
  {
 	 $this->erro_fatal();
 	 return FALSE;
  }
  
  return TRUE;
  
	}
	
	/*========================================================================*/
	// Inserir informação do banco de dados
	/*========================================================================*/
	function insert ($tbl, $arr)
	{
  $parametros = $this->tratar_insert_array( $arr );
  
  $query = "INSERT INTO ".prefixo."{$tbl} ({$parametros[CAMPO_NOMES]}) VALUES {$parametros[CAMPO_VALORES]})";
  
  $this->consulta_id = mysql_query( $query, $this->conexao_id );
	}
	
	/*========================================================================*/
	// Atualizar informação do banco de dados
	/*========================================================================*/	
	function update ($tbl, $arr, $where="")
	{
  $parametros = $this->tratar_update_array( $arr );
  
  $query = "UPDATE ".prefixo."{$tbl} SET {$parametros}";
  
  if ( $where )
  {
 	 $query .= " WHERE {$where}";
  }
  
  $this->consulta_id = mysql_query( $query, $this->conexao_id );
	}

	/*========================================================================*/
	// Deletar informação do banco de dados
	/*========================================================================*/
	function delete ( $tbl, $where )
	{
  $query = "DELETE FROM ".prefixo."{$tbl} WHERE {$where}";
  
  $this->consulta_id = mysql_query( $query );
	}
  
	/*========================================================================*/
	// Tratar array (insert) 
	/*========================================================================*/
	function tratar_insert_array ( $arr )
	{
  foreach ( $arr as $campo => $valor )
  {
 	 $CAMPO_NOMES .= "{$campo},";
 	 
 	 $valor = preg_replace( "/'/", "\\'", $valor );
 	 
 	 if ( is_numeric( $valor ) and intval( $valor ) == $valor )
 	 {
    $CAMPO_VALORES .= "{$valor},";
 	 }
 	 else
 	 {
    $CAMPO_VALORES .= "'{$valor}',";
 	 }
  }
  $CAMPO_NOMES   = preg_replace( "/,$/" , "" , $CAMPO_NOMES   );
  $CAMPO_VALORES = preg_replace( "/,$/" , "" , $CAMPO_VALORES );
  
  return array( 'CAMPO_NOMES'   => $CAMPO_NOMES,
       'CAMPO_VALORES' => $CAMPO_VALORES
   	 );
	}
	
	/*========================================================================*/
	// Tratar array (update)
	/*========================================================================*/
	function tratar_update_array ( $arr )
	{
  foreach ( $arr as $campo => $valor )
  {
 	 $valor = preg_replace( "/'/", "\\'", $valor );
 	 $retorno .= "{$campo}='{$valor}',";
  }
  $retorno = preg_replace("/,$/", "", $retorno);
  return $retorno;
	}
}
?>

Exemplos de utilização

<?
require "class_db.php";
$DB = new class_db;

// $DB->dados['servidor'] = "localhost"; (já é padrão da classe)
// $DB->dados['usuario'] = "root"; (já é padrão da classe)
// $DB->dados['senha'] = ""; (já é padrão da classe)
$DB->dados['prefixo'] = "tbl_"; // o padrão é nulo

$DB->connect();

// INSERT
$DB->insert( 'tabela', array('campo_1' => 'valor_1', 'campo_2' => 'valor_2') );

// UPDATE
$DB->update( 'tabela', array('campo_1' => 'valor_1', 'campo_2' => 'valor_2'), "campo_id = '1'" );

// DELETE
$DB->delete( 'tabela', "campo_id='1'" );


#2 gulliva

gulliva

    Normal

  • Usuários
  • 62 posts
  • Sexo:Não informado
  • Localidade:Porto Alegre
  • Interesses:Dinheiro!

Posted 03/08/2005, 17:51

$DB->insert( 'tabela', array('campo_1' => 'valor_1', 'campo_2' => 'valor_2') );
mysql_query("insert into tabela (campo_1,campo_2) values ('valor_2','valor_2');");

$DB->update( 'tabela', array('campo_1' => 'valor_1', 'campo_2' => 'valor_2'), "campo_id = '1'" );
mysql_query("update tabela set vampo_1='valor_1', campo_2='valor_2' where campo_id=1");

Cara, manipular banco de dados num eh um bom exemplo de uso de OO
Galeria De Imagens COMPLETA E FREEWARE!
http://agaleria.clic3.net

#3 Paulo Freitas

Paulo Freitas

    ××××××× LRU #456504 ××××××× ××××××× LRM #364686 ×××××××

  • Ex-Admins
  • 5612 posts
  • Sexo:Masculino
  • Localidade:Campinas - SP

Posted 06/08/2005, 06:03

Cara, manipular banco de dados num eh um bom exemplo de uso de OO

Verdade. Bom não, ótimo ! ^_^

[]’s :DAté mais

#4 _MX_

_MX_

    Conhecimento nunca é demais

  • Usuários
  • 563 posts
  • Sexo:Não informado
  • Localidade:Diadema-sp

Posted 09/12/2005, 20:18

desenvolver em OO nao significa diminuir codigo, e sim organizar o codigo.
========================================================
Copiar o bom é melhor que inventar o ruim
========================================================
"O segredo da criatividade é saber esconder suas fontes"
(Einstein)
========================================================

#5 Fabyo

Fabyo

    Novato no fórum

  • Usuários
  • 10 posts
  • Sexo:Não informado

Posted 14/12/2005, 21:30

php4 é muito ruim mecher com oop na verdade é muito restrito e falho

agora o php5 ta bem legal pra oop e usando mysqli ai fica dahora

#6 hostdesigner

hostdesigner

    Super Veterano

  • Usuários
  • 2910 posts
  • Sexo:Masculino
  • Localidade:Quirinópolis-GO
  • Interesses:Programação, Mulheres, Diversão, Mulheres, Música, Mulheres, Meu Carro, Mais mulheres, Internet, Outras Mulheres, Quase por último PAZ e por ultimo Outras Váááárias Mulheres...

Posted 13/12/2006, 20:57

Uma dúvida eu só li o código mas não entendi direito...

Vamos supor que o cara faça um insert usando esta classe como é que ele faria pra dar uma resposta informando que a operação foi concluida com sucesso?

Falopa!

#7 Vlad Tepes

Vlad Tepes

    Novato no fórum

  • Usuários
  • 1 posts
  • Sexo:Não informado

Posted 16/05/2007, 09:48

quanto ao exemplo.. ficou faltando so o fechamento( ?> ) ou ta incompleto? n entendi bem...

#8 LarPhozyHah

LarPhozyHah

    Super Veterano

  • Usuários
  • 14515 posts
  • Sexo:Masculino
  • Localidade:San Miguel de Tucuman

Posted 17/11/2017, 04:37

Viagra A Poco Prezzo Acquisto Cialis Svizzera filitra vardenafil tablets Tadalafil Generic 40 Mg India Finasteride 10mg Overseas Low Price Cod Zentel No Prescription Medicine Overseas Low Price
Order Legally Stendra Overseas Mastercard Clobetasol Want To Buy Medicine Cash Delivery buy cialis Syphilis And Amoxicillin Clavulanate
Le Viagra Sans Ordonnance Levitra 10mg Occasion Isotretinoin usa price quick shipping viagra Potenzmittel Kamagra Nebenwirkung




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq