Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //propriedades
- public $servidor = "localhost";
- public $usuario = "usuario";
- public $senha = "senha";
- public $nomebanco = "crud";
- public $conexao = NULL;
- public $dataset = NULL;
- public $linhasafetadas = -1;
- //métodos
- public function __construct() {
- $this->conecta();
- }
- public function __destruct() {
- if ($this->conexao != NULL):
- mysql_close($this->conexao);
- endif;
- }
- public function conecta() {
- $this->conexao = mysql_connect($this->servidor, $this->usuario, $this->senha, TRUE) or die($this->trataerro(__FILE__, __FUNCTION__, mysql_errno(), mysql_error(), TRUE));
- mysql_select_db($this->nomebanco) or die($this->trataerro(__FILE__, __FUNCTION__, mysql_errno(), mysql_error(), TRUE));
- mysql_query("SET NAMES 'utf8'");
- mysql_query("SET character_set_connection=utf8");
- mysql_query("SET character_set_client=utf8");
- mysql_query("SET character_set_results=utf8");
- ##echo "O metodo conecta foi chamado";
- }
- public function inserir($objeto) {
- $sql = "INSERT INTO " . $objeto->tabela . " (";
- for ($i = 0; $i < count($objeto->campos_valores); $i++):
- $sql.= key($objeto->campos_valores);
- if ($i < (count($objeto->campos_valores) - 1)):
- $sql .= ", ";
- else:
- $sql .= ") ";
- endif;
- next($objeto->campos_valores);
- endfor;
- //Resetando os valores...
- reset($objeto->campos_valores);
- $sql .= "VALUES (";
- for ($i = 0; $i < count($objeto->campos_valores); $i++):
- $sql.= is_numeric($objeto->campos_valores[key($objeto->campos_valores)]) ?
- $objeto->campos_valores[key($objeto->campos_valores)] :
- "'" . $objeto->campos_valores[key($objeto->campos_valores)] . "'";
- if ($i < (count($objeto->campos_valores) - 1)):
- $sql .= ", ";
- else:
- $sql .= ") ";
- endif;
- next($objeto->campos_valores);
- endfor;
- return $this->executaSQL($sql);
- }
- public function atualizar($objeto) {
- $sql = "UPDATE " . $objeto->tabela . " SET ";
- for ($i = 0; $i < count($objeto->campos_valores); $i++):
- $sql.= key($objeto->campos_valores) . "=";
- $sql.= is_numeric($objeto->campos_valores[key($objeto->campos_valores)]) ?
- $objeto->campos_valores[key($objeto->campos_valores)] :
- "'" . $objeto->campos_valores[key($objeto->campos_valores)] . "'";
- if ($i < (count($objeto->campos_valores) - 1)):
- $sql .= ", ";
- else:
- $sql .= " ";
- endif;
- next($objeto->campos_valores);
- endfor;
- $sql .= "WHERE " . $objeto->campopk . "=";
- $sql .= is_numeric($objeto->campopk) ? $objeto->valorpk :
- "'" . $objeto->valorpk . "'";
- return $this->executaSQL($sql);
- }
- public function deletar($objeto) {
- $sql = "DELETE FROM " . $objeto->tabela;
- $sql .= " WHERE " . $objeto->campopk . "=";
- $sql .= is_numeric($objeto->campopk) ? $objeto->valorpk :
- "'" . $objeto->valorpk . "'";
- return $this->executaSQL($sql);
- }
- public function selecionaTudo($objeto) {
- $sql = "SELECT * FROM " . $objeto->tabela;
- if ($objeto->extras_select != NULL):
- $sql .= " " . $objeto->extras_select;
- endif;
- return $this->executaSQL($sql);
- }
- public function selecionaCampos($objeto) {
- $sql = "SELECT ";
- for ($i = 0; $i < count($objeto->campos_valores); $i++):
- $sql.= key($objeto->campos_valores);
- if ($i < (count($objeto->campos_valores) - 1)):
- $sql .= ", ";
- else:
- $sql .= " ";
- endif;
- next($objeto->campos_valores);
- endfor;
- $sql .= " FROM " . $objeto->tabela;
- if ($objeto->extras_select != NULL):
- $sql .= " " . $objeto->extras_select;
- endif;
- return $this->executaSQL($sql);
- }
- public function executaSQL($sql = NULL) {
- if ($sql != NULL):
- $query = mysql_query($sql) or $this->trataerro(__FILE__, __FUNCTION__);
- $this->linhasafetadas = mysql_affected_rows($this->conexao);
- if (substr(trim(strtolower($sql)), 0, 6) == 'select'):
- $this->dataset = $query;
- return $query;
- else:
- return $this->linhasafetadas;
- endif;
- else:
- $this->trataerro(__FILE__, __FUNCTION__, 'Comando SQL nao informado na rotina', FALSE);
- endif;
- }
- public function retornaDados($tipo = NULL) {
- switch (strtolower($tipo)):
- case "array":
- return mysql_fetch_array($this->dataset);
- break;
- case "assoc":
- return mysql_fetch_assoc($this->dataset);
- break;
- case "object":
- return mysql_fetch_object($this->dataset);
- break;
- default:
- return mysql_fetch_object($this->dataset);
- break;
- endswitch;
- }
- public function trataerro($arquivo = NULL, $rotina = NULL, $numerro = NULL, $msgerro = NULL, $geraexcept = FALSE) {
- if ($arquivo == NULL)
- $arquivo = "nao informado";
- if ($rotina == NULL)
- $rotina = "nao informada";
- if ($numerro == NULL)
- $numerro = mysql_errno($this->conexao);
- if ($msgerro == NULL)
- $msgerro = mysql_error($this->conexao);
- $resultado = 'Ocorreu um erro com os seguintes detalhes:<br />
- <strong>Arquivo:</strong> ' . $arquivo . '<br />
- <strong>Rotina:</strong> ' . $rotina . '<br />
- <strong>Codigo:</strong> ' . $numerro . '<br />
- <strong>Mensagem:</strong> ' . $msgerro;
- if ($geraexcept == FALSE):
- echo($resultado);
- else:
- die($resultado);
- endif;
- }
- <?php
- //Propriedades
- public $tabela = "";
- public $campos_valores = array();
- public $campopk = NULL; //pk primary key ou chave primaria
- public $valorpk = NULL;
- public $extras_select = "";
- //metodos
- //Adicionar campo na tabela
- public function addCampo($campo = NULL, $valor = NULL) {
- if ($campo != NULL):
- $this->campos_valores[$campo] = $valor; //$valor que for passado
- endif;
- }
- public function delCampo($campo = NULL) {
- if (array_key_exists($campo, $this->campos_valores)):
- unset($this->campos_valores[$campo]);
- endif;
- }
- public function setValor($campo = NULL, $valor = NULL) {
- if ($campo != NULL && $valor != NULL):
- $this->campos_valores[$campo] = $valor;
- endif;
- }
- public function getValor($campo = NULL) {
- if ($campo != NULL && array_key_exists($campo, $this->campos_valores)):
- return $this->campos_valores[$campo];
- else:
- return FALSE;
- endif;
- }
- <?php
- //Contruct
- public function __construct($campos = array()) {
- parent::__construct();
- $this->tabela = "clientes";
- if (sizeof($campos) <= 0):
- $this->campos_valores = array(
- "nome" => NULL,
- "sobrenome" => NULL,
- );
- else:
- $this->campos_valores = $campos;
- endif;
- $this->campopk = "id";
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement