Aproveitei esse dia de folga dos meus afazeres e sem nada pra fazer e aproveitando que estava estudando PDO criei a seguinte class se vai ser é inútil essa class eu não to muito ai pois so foi para aprendizado e diversão =)
Eu poderia ter dado uma arrumada deixando mais limpo mais tinha acabado o dia e eu queria termina-lo logo.
Segue o codigo:
<?php
class davvUsuarios {
var $dusuarios = array();
var $tabela;
var $pdo;
var $stm;
function davvUsuarios($dsn,$usuarios,$senha){
$this->pdo = new PDO($dsn,$usuarios,$senha);
}
function addUsuario(){
$sql = 'INSERT INTO '.$this->tabela.' VALUES (';
foreach($this->dusuarios as $campo => $valor){
$sql .= ':'.$campo.',';
}
$sql = substr($sql,0,strlen($sql)-1).')';
try{
$this->stm = $this->pdo->prepare($sql);
$this->stm->execute($this->dusuarios);
} catch (PDOException $e){
echo $e->getMessage();
}
}
function upUsuario($where){
$sql = 'UPDATE '.$this->tabela.' SET ';
$idwhere = ' WHERE ';
foreach($this->dusuarios as $campo => $valor){
if($campo == $where){
$idwhere .= $campo.' = :'.$campo;
}else{
$sql .= $campo.'= :'.$campo.', ';
}
}
$sql = substr($sql,0,strlen($sql)-2).$idwhere;
try{
$this->stm = $this->pdo->prepare($sql);
$this->stm->execute($this->dusuarios);
} catch (PDOException $e){
echo $e->getMessage();
}
return $res;
}
function delUsuario($idcampo,$id){
$sql = 'DELETE FROM '.$this->tabela.' WHERE '.$idcampo.' = '.$id;
try{
$this->stm = $this->pdo->prepare($sql);
$this->stm->execute();
} catch (PDOException $e){
echo $e->getMessage();
}
return $res;
}
function setUsuario($prop,$valor){
$this->dusuarios[$prop] = $valor;
}
function setTabela($tabela){
$this->tabela = $tabela;
}
function viewUsuario($view = 0,$sql2 = 0){
$sql = "SELECT * FROM ".$this->tabela;
if($view == 0){
$sql .= " WHERE ";
if(sizeof($this->dusuarios) > 0){
foreach($this->dusuarios as $campo => $valor){
$sql .= " ".$campo." = :".$campo." AND";
}
$sql = substr($sql,0,strlen($sql)-4);
}
}
elseif($sql2 != 0 and $view == 1 or $view == 2){
$sql = $sql2;
$verif = $view;
}
try{
$this->stm = $this->pdo->prepare($sql);
if($view == 0 or $verif == 1){
$this->stm->execute($this->dusuarios);
}elseif($view == 1 or $verif == 2){
$this->stm->execute();
}
} catch (PDOException $e){
echo 'Erro:'.$e->getMessage();
}
}
}
?>
Tutorial de uso:
Conectando:
É da mesma forma que você se conecta no pdo passa as informações do mesmo modo.
<?php
include ("davvusuarios.class.php");
$dav = new davvUsuarios('mysql:host=localhost;dbname=usuarios','usuario','senha');
?>
Para incluir dados você precisa setar os campo com seu valores e a tabela para depois chamar a função que adicionara
OBS.:So setar o valor do id se for pra da um id especifico se tiver no auto_increment não setar id.
Sintaxe:
setUsuario(string Campo_tabela, string Valor_do_campo);
addUsuario(); Não recebe parametro.
Inserindo:
Para modificar so precisa setar os valores que serão modificados e coloca o campo da clasula where no parametro(mais antes tem que setar o campo);
Modificando
Para excluir basta chamar a função delUsuario($idcampo,$id)(Ou seja você passa no 1 parametro o campo da clasula where e o valor no 2 parametro)
Excluindo
<?php
$dav->delUsuario('id',1);
?>
Para exibir os dados, a varias opções.
Exibindo
1. Opção passando nenhum parametro você ira colocar na clasula where todos os campos setados
2.Opção mostrar todos registro da tabela so passar 1 como parametro(não necessario setar nenhum campo).
<?php
$dav->viewUsuario(1);
?>
3.Opção você faz a query personalizada pegando valores dos campos setados , basta colocar 1 no primeiro parâmetro e no segundo a query.
<?php
$dav->setUsuario('id',2);
$dav->viewUsuario(1,'SELECT * FROM usuarios id > :id');
?>
4.Opção você faz a query personalizada sem pegar os valores nos campos setados, basta colocar 2 no primeiro parâmetro e no segundo a query.
<?php
$dav->viewUsuario(2,'SELECT * FROM usuarios id > 2');
?>
E para mostra o registros na tela basta fazer do jeito que você faria sem não tivesse usando a classe
OBS.:stm é o objeto que executa a função execute($this->stm->execute();)
Pergunta
david.lyonnais
Aproveitei esse dia de folga dos meus afazeres e sem nada pra fazer e aproveitando que estava estudando PDO criei a seguinte class se vai ser é inútil essa class eu não to muito ai pois so foi para aprendizado e diversão =)
Eu poderia ter dado uma arrumada deixando mais limpo mais tinha acabado o dia e eu queria termina-lo logo.
Segue o codigo:
Tutorial de uso: Conectando: É da mesma forma que você se conecta no pdo passa as informações do mesmo modo. Para incluir dados você precisa setar os campo com seu valores e a tabela para depois chamar a função que adicionara OBS.:So setar o valor do id se for pra da um id especifico se tiver no auto_increment não setar id. Sintaxe: setUsuario(string Campo_tabela, string Valor_do_campo); addUsuario(); Não recebe parametro. Inserindo: Para modificar so precisa setar os valores que serão modificados e coloca o campo da clasula where no parametro(mais antes tem que setar o campo); Modificando Para excluir basta chamar a função delUsuario($idcampo,$id)(Ou seja você passa no 1 parametro o campo da clasula where e o valor no 2 parametro) Excluindo Para exibir os dados, a varias opções. Exibindo 1. Opção passando nenhum parametro você ira colocar na clasula where todos os campos setados 2.Opção mostrar todos registro da tabela so passar 1 como parametro(não necessario setar nenhum campo). 3.Opção você faz a query personalizada pegando valores dos campos setados , basta colocar 1 no primeiro parâmetro e no segundo a query. 4.Opção você faz a query personalizada sem pegar os valores nos campos setados, basta colocar 2 no primeiro parâmetro e no segundo a query. E para mostra o registros na tela basta fazer do jeito que você faria sem não tivesse usando a classe OBS.:stm é o objeto que executa a função execute($this->stm->execute();)Pronto é so isso...
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.