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