PHP Classes

File: database.lib

Recommend this page to a friend!
  Classes of juliano lopes millidiu   Form Maker   database.lib   Download  
File: database.lib
Role: Auxiliary script
Content type: text/plain
Description: a interface to adodb
Class: Form Maker
Generate forms to edit database records
Author: By
Last change:
Date: 18 years ago
Size: 5,188 bytes
 

Contents

Class file image Download
<?
// arquivos requeridos pela classe DB MANAGER ---------------------------------
require_once(COMMON_CLASSE_PATH."adodb/adodb.inc.php");
require_once(
COMMON_CLASSE_PATH."adodb/adodb-errorhandler.inc.php");
// ----------------------------------------------------------------------------

// ----------------------------------------------------------------------------
// FUNÇÃO DE CONEXÃO AO BANCO
// ----------------------------------------------------------------------------
function Connect_DB($db_host=DB_HOST,$db_user=DB_USER,$db_pass=DB_PASS,$db_base=DB_BASE,$db_used=DB_USED)
{
 
$DB = &ADONewConnection($db_used);
 
$DB->Connect($db_host,$db_user,$db_pass,$db_base);
 
$DB->raiseErrorFn = ADODB_ERROR_HANDLER;
  return
$DB;
}

// ----------------------------------------------------------------------------
// FUNÇÃO PARA INCLUIR DADOS NAS TABELAS
// ----------------------------------------------------------------------------
function Inclui_DB($tabela,$vetor,$executa=TRUE,$return_var="")
{
 
// conecta com o BANCO
 
$DB = Connect_DB();

 
// query que retorna um RS vazio
 
$sql = "SELECT * FROM $tabela WHERE 1=0";
 
$RS = $DB->Execute($sql);

 
// gera a SQL de insert
 
$insertSQL = $DB->GetInsertSQL($RS, $vetor);

 
// verifica se eh para executar a query
 
if($executa)
   
$RS = $DB->Execute($insertSQL);
  else
    echo
$insertSQL."<BR>";

  if ((
$executa) && ($return_var != ""))
  {
   
$GLOBALS[$return_var] = $DB->Insert_ID();
        return
$DB->Affected_Rows();
  }

 
// grava no log

 
if ($tabela != "logs") {
 
// $logs = new logs("Inclusão de Dados na tabela ".$tabela,$GLOBALS["PHP_SELF"],$DB->Insert_ID());
  // $logs->insertLog();
 
}
}

// ----------------------------------------------------------------------------
// FUNÇÃO PARA ALTERAR OS DADOS NAS TABELAS
// ----------------------------------------------------------------------------
function Altera_DB($tabela,$vetor,$selecao,$executa=TRUE)
{
  
  
$contador=0;

  
// conecta com o BANCO
  
$DB = Connect_DB();

  
// query que retorna um RS vazio
  
$sql = "SELECT * FROM $tabela WHERE $selecao";
  
$RS = $DB->Execute($sql);

  
// gera a SQL de insert
  
$updateSQL = $DB->GetUpdateSQL($RS, $vetor);
//echo $updateSQL;
//exit;

  
if (($executa) && ($updateSQL != "")) {
    
$DB->Execute($updateSQL);
           return
$DB->Affected_Rows();
   }
   elseif ((!
$executa) && ($updateSQL != "")) {
     echo
$updateSQL."<BR>";
   }
}

// ----------------------------------------------------------------------------
// FUNÇÃO PARA EXCLUIR OS DADOS NAS TABELAS
// ----------------------------------------------------------------------------
function Exclui_DB($tabela, $selecao, $executa=TRUE)
{
  
// conecta com o BANCO
  
$DB = Connect_DB();
  
$sql = "DELETE FROM $tabela WHERE $selecao"; // query a ser utilizada

  
if($executa == TRUE) {
    
$DB->Execute($sql);
     return
$DB->Affected_Rows();
   }
   else
     echo
$sql."<BR>";

  
// grava no log
  
$logs = new logs("Exclusão de Dados na tabela ".$tabela,$GLOBALS["PHP_SELF"],$selecao);
  
$logs->insertLog();
}

// ---------------------------------------------------------------------------
// FUNÇÃO DE INTEGRIDADE REFERENCIAL DE UMA EXCLUSÃO
// ----------------------------------------------------------------------------
function Integridade_Referencial($tabela,$chave,$valor,$referencia)
{
 
// conecta com o BANCO
 
$DB = Connect_DB();

 
$integridade = 1;
 
$referencias = explode(',',$referencia);
  for (
$i=0 ; $i<count($referencias) ; $i++)
  {
    
$clause = $tabela.".".$chave." = ".$valor." AND ".$referencias[$i].".".$chave." = ".$valor;
    
$fields = $tabela.".".$chave.",".$referencias[$i].".".$chave;
    
$tabelas = $tabela.",".$referencias[$i];
    
$sql = "SELECT ".$fields." FROM ".$tabelas." WHERE ".$clause;
    
$RS = $DB->Execute($sql);
     if (
$DB->Affected_Rows())
      
$integridade = 0;
  }
  return (
$integridade);
}

//---------------------------------------------------------------------
// FUNÇÃO GLOBAL VARS
// - recebe a consulta para preenchimento da tabela
// - executa e torna globais os campos com seus valores
//---------------------------------------------------------------------
function Global_Vars($sql='',$dbname="")
{
  if(
$dbname == "") $DB = Connect_DB();
  else
$DB = Connect_DB($db_host=DB_HOST,$db_user=DB_USER,$db_pass=DB_PASS,$db_base=$dbname,$db_used=DB_USED);
 
$RS = $DB->Execute($sql);
  if (
$DB->Affected_Rows() == 1) {
     
$vetor = $RS->GetArray(1);
    for (
$i=0;$i<$RS->FieldCount();$i++) {
     
$meta = $RS->FetchField($i);
     
$aux = $meta->name;
      global $
$meta->name;
      $
$aux = $vetor[0][$i];
    }
  }
}

// ----------------------------------------------------------------------------
// FUNÇÃO PARA BUSCAR VALOR EM UM RESULT SET
// @ codigo que deve ser executado antes da função:
// @ $RS = $DB->Execute("query");
// @ $vetor = $RS->GetArray();
// ----------------------------------------------------------------------------
function Result_Set_Search($vetor,$valor,$rsPosition=0,$nrows=0)
{
  for (
$i=0;$i<count($vetor);$i++) {
    if (
in_array($valor,$vetor[$i])) {
     
$rsPosition = $i;
      return
TRUE;
    }
  }
  return
FALSE;
}
?>