Login   Register  
PHP Classes
elePHPant
Icontem

File: database.lib

Recommend this page to a friend!
Stumble It! Stumble It! Bookmark in del.icio.us Bookmark in del.icio.us
  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: 2005-08-17 13:36
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=$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;
}
?>