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