'; $sql_msg .= "

$txt

"; if($sql != '') $sql_msg .= "

SQL: $sql

"; $sql_msg .= mysql_error(); $sql_msg .= ''."\n"; return $sql_msg; } // adiciona as condicoes para o sql function sql_add_condicao($condicao){ $nCondicao = ''; if($condicao != ''){ $q = 'WHERE'; $array_condicao = explode(',',$condicao); foreach($array_condicao as $c => $v){ $nCondicao .= " $q $v"; $q = 'AND'; } } return $nCondicao; } // sql_escreve uma string do banco; function sql_escreve($str,$campo,$usar_br = true){ if(is_string($str)){ $str = stripslashes($str); $str = str_replace('"',"''",$str); if($usar_br) $str = nl2br($str); } return $str; } // formatar os dados de acordo com as opções function sql_tratar_dados($valor){ $nValor = ''; if(is_array($valor)){ $nValor = '/'.implode('/',$valor).'/'; }else{ $nValor = $valor; } return addslashes($nValor); } // insere itens no banco de dados function sql_insert($tabela,$array = array(),$retorna = false){ $sqlN = ''; $sqlV = ''; foreach($array as $nome_campo => $valor){ $sqlN .= ", `".$nome_campo."` "; $sqlV .= ", '".sql_tratar_dados($valor)."' "; } $sql = "INSERT INTO $tabela (`id` $sqlN) VALUES (NULL $sqlV);"; mysql_query($sql) or die(sql_msg('Ocorre um erro ao inserir os dados',$sql)); if($retorna) return mysql_insert_id(); else return true; } // atualiza itens do banco de dados function sql_update($tabela,$array = array(),$condicao){ $sql = "UPDATE $tabela SET "; $v = ''; foreach($array as $nome_campo => $valor){ $sql .= "$v $nome_campo = '".sql_tratar_dados($valor)."' "; $v = ', '; } $sql .= sql_add_condicao($condicao); mysql_query($sql) or die(sql_msg('Ocorreu um erro ao atualizar os dados',$sql)); return true; } // deleta itens do banco de dados de acordo com a condicao function sql_delete($tabela,$condicao = ''){ $sql = "DELETE FROM $tabela"; $sql .= sql_add_condicao($condicao); mysql_query($sql) or die(sql_msg('Ocorreu um erro ao excluir',$sql)); } // gera sql select function sql_gera_select($tabela,$campos = '*',$condicao = '', $limite = 0, $ordem = false){ $sql = 'SELECT '; if($campos == '*'){ $sql .= '* '; }else{ $vi = ''; $array = explode(',',$campos); foreach($array as $c => $v){ $sql .= "$vi $v "; $vi = ','; } } $sql .= "FROM $tabela"; // alteração para carregar apenas os conteúdo do idioma atual (apenas para o site, no paine é ignorado) if(!ADMIN){ if(TRADUZIR){ $traduzir = explode(',',TRADUZIR); if(in_array($tabela,$traduzir)){ $condicao = $condicao == '' ? ("traducao = '".P_IDIOMA."'") : ("$condicao,traducao = '".P_IDIOMA."'"); } } } $sql .= sql_add_condicao($condicao); if($ordem) $sql .= " ORDER BY $ordem"; if($limite !== 0) $sql .= " LIMIT $limite"; if(ADMIN_DEBUG) echo sql_msg('Debug MYSQL',$sql); return $sql; } // gera a quantidade de linhas de uma consulta function sql_quantidade_linhas($tabela,$condicao = '',$limite = 0){ $sql = sql_gera_select($tabela,'id',$condicao,$limite); $exe = mysql_query($sql) or die(sql_msg('Erro ao calcular o número de linhas',$sql)); $q = mysql_num_rows($exe); return $q; } // buscar qualquer valor no banco function sql_busca_valor($tabela,$valores,$condicao,$ordem = false){ $sql = sql_gera_select($tabela,$valores,$condicao,1,$ordem); $exe = mysql_query($sql) or die(sql_msg('Erro ao buscar valor(es)',$sql)); $q = mysql_num_rows($exe); if($q){ $n_valor = mysql_fetch_assoc($exe); if($valores != '*' and count(explode(',',$valores)) == 1){ return sql_escreve($n_valor[$valores],$valores); }else{ $n_valor_n = array(); foreach($n_valor as $c => $v){ $n_valor_n[$c] = sql_escreve($v,$c); } return $n_valor_n; } }else{ return 0; } } // buscar qualquer valor no banco function sql_query_valor($sql){ $exe = mysql_query($sql) or die(sql_msg('Erro ao buscar valor(es)',$sql)); $q = mysql_num_rows($exe); if($q){ $n_valor = mysql_fetch_assoc($exe); $n_valor_n = array(); foreach($n_valor as $c => $v){ $n_valor_n[$c] = sql_escreve($v,$c); } return $n_valor_n; }else{ return 0; } } // converte a consulta sql em uma array function sql_to_array($tabela,$valores,$condicao = '',$quantidade = NULL,$ordem = 'nome ASC'){ if($quantidade === NULL) $quantidade = sql_max; $sql = sql_gera_select($tabela,$valores,$condicao,$quantidade,$ordem); $exe = mysql_query($sql) or die(sql_msg('Erro ao gerar array do SQL',$sql)); $q = mysql_num_rows($exe); if($q){ $array_r = array(); $i = 0; while($n_valor = mysql_fetch_assoc($exe)){ foreach($n_valor as $c => $v){ $array_r[$i][$c] = sql_escreve($v,$c); } $i++; } return $array_r; }else{ return 0; } } // converte a consulta sql em uma array a partir de um SQL function sql_query_to_array($sql){ $exe = mysql_query($sql) or die(sql_msg('Erro ao gerar array do SQL',$sql)); $q = mysql_num_rows($exe); if($q){ $array_r = array(); $i = 0; while($n_valor = mysql_fetch_assoc($exe)){ foreach($n_valor as $c => $v){ $array_r[$i][$c] = sql_escreve($v,$c); } $i++; } return $array_r; }else{ return 0; } } // busca o valor desejado para vários ids diferentes function sql_busca_diversos($tabela,$valor,$ids,$separador = ',',$tipo_retorno = 'array'){ if(is_array($ids)){ $a = $ids; }else{ $a = explode($separador,$ids); } $condicao = ''; $v = ''; foreach($a as $ia => $va){ if($va != ''){ $condicao .= " $v id = '$va'"; $v = 'OR'; } } $exe = sql_to_array($tabela,$valor,'('.$condicao.')',0); if($tipo_retorno == 'array'){ return $exe; }else{ $r = ''; $v = ''; foreach($exe as $i => $d){ $r .= $v.$d[$valor]; $v = $separador; } return $r; } } ?>