<? 
// 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; 
} 
?>
 
 |