junaooaks Postado Agosto 24, 2010 Denunciar Share Postado Agosto 24, 2010 pessoal sou iniciante em php oop já li um monte de artigo estou partindo para a praticaestou criando uma class para cadastro de cliente usando os métodos get e set para entrada e saidacriei as class CONEXÃO, CLIENTE, FORMULÁRIO, clienteSqlso que não sei como juntar as class de forma que quando digitado no formulário cadastrasse no banco de dados bom vamos ao codigo:class de conexao com o banco de dados<?PHPclass Conexao { private $con = NULL; /*SE QUISERMOS UTILIZAR OUTRO BANCO DE DADOS DEVEMOS APENAS MUDAR ESTE ATRIBUTO*/ private $dbType = "mysql"; private $host = "localhost"; private $user = "teste"; private $pass = "teste"; private $db = "teste"; private $persistencia = false; private $x; /*PODE SER TROCADO POR __construct do PHP5 sem problemas*/ public function __construct($persistencia = false){ if($persistencia != false) { $this->persistencia = true; } $this->x="asfd"; } public function getConnection(){ try{ $this->con = new PDO($this->dbType.":host=".$this->host.";dbname=".$this->db,$this->user,$this->pass); /* ESTA PROPRIEDADE INDICA COMO O PDO VAI RETORNAR OS ERROS SQL NO MODO PDO::ERRMODE_WARNING O RETORNO DO ERRO É IGUAL AO QUE VEMOS SEM A UTILIZAÇÃO DO PDO */ $this->con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING); return $this->con; }catch(PDOException $ex){ echo "ERRO:".$ex->getMessage(); } } public function Close(){ if($this->con != NULL){ $this->con = NULL; } }}?>//class com os metodos get e setclass cliente { private $id_cliente; private $nome; private $endereco; private $bairro; private $cidade; private $cep; private $cpfCnpj; private $telefone; private $celular; private $email; private $estado; public function setIdCliente($id_cliente) { $this->id_cliente = $id_cliente; } public function getIdCliente() { return $this->id_cliente; } public function setNome($nome){ $this->nome = $nome; } public function getNome(){ return $this->nome; } public function setEndereco ($endereco){ $this->endereco = $endereco; } public function getEndereco (){ return $this->endereco; } public function setBairro ($bairro){ $this->bairro = $bairro; } public function getBairro (){ return $this->bairro; } public function setCidade($cidade){ $this->cidade = $cidade; } public function getCidade(){ return $this->cidade; } public function setCep($cep){ $this->cep = $cep; } public function getCep(){ return $this->cep; } public function setCpfCnpj($cpfCnpj){ $this->cpfCnpj = $cpfCnpj; } public function getCpfCnpj(){ return $this->cpfCnpj; } public function setTelefone ($telefone) { $this->telefone = $telefone; } public function getTelefone(){ return $this->telefone; } public function setCelular($celular){ $this->celular = $celular; } public function getCelular(){ return $this->celular; } public function setEmail($email){ $this->email = $email; } public function getEmail(){ return $this->email = $email; } public function setEstado($estado){ $this->estado = $estado; } public function getEstado(){ return $this->estado = $estado; }}?>//formulario html<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>SISGEW Mikrotik</title><style type="text/css"> @import url("../../css/form.css"); </style><?php//includesinclude ("../../mysql/conexao.php");include ("../../bean/cliente.php");?></head><body><form id="form1" name="form1" method="post" action=""><table border="0" cellspacing="0" cellpadding="1"> <tr> <td><input name="novo" type="image" id="novo" src="../../botao/novo.gif"/></td> <td><input name="alterar" type="image" id="alterar" src="../../botao/alterar.gif"/></td> <td><input name="deletar" type="image" id="deletar" src="../../botao/delete.gif"/></td> <td><input name="busca" type="image" id="busca" src="../../botao/buscar.gif"/></td> <td><input name="fechar" type="image" id="fechar" onclick="window.close()" src="../../botao/fechar.gif"/></td> </tr> <tr> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> </tr></table> <table border="0" align="center" cellpadding="5" cellspacing="0"> <tr> <td width="55">Nome:</td> <td><input name="nome" type="text" id="nome" size="80" /></td> </tr> <tr> <td>Endereço:</td> <td><input name="endereco" type="text" id="textfield2" size="80" /></td> </tr> <tr> <td>Email:</td> <td><input name="email" type="text" id="email" size="80" /></td> </tr> <tr> <td>Bairro:</td> <td><input type="text" name="bairro" id="textfield3" /></td> </tr> <tr> <td>Cidade:</td> <td><input type="text" name="cidade" id="textfield4" /></td> </tr> <tr> <td>Cep:</td> <td><input type="text" name="cep" id="textfield5" /></td> </tr> <tr> <td>estado:</td> <td><label for="estado"></label> <select name="estado" id="estado"> <option value="AC">AC</option> <option value="AL">AL</option> <option value="AP">AP</option> <option value="AM">AM</option> <option value="BA">BA</option> <option value="CE">CE</option> <option value="DF">DF</option> <option value="ES">ES</option> <option value="GO">GO</option> <option value="MA">MA</option> <option value="MT">MT</option> <option value="MS">MS</option> <option value="MG">MG</option> <option value="PA">PA</option> <option value="PB">PB</option> <option value="PR">PR</option> <option value="PE">PE</option> <option value="PI">PI</option> <option value="RJ">RJ</option> <option value="RN">RN</option> <option value="RS">RS</option> <option value="RO">RO</option> <option value="RR">RR</option> <option value="SC">SC</option> <option value="SP">SP</option> <option value="SE">SE</option> <option value="TO">TO</option> </select></td> </tr> <tr> <td>Telefone:</td> <td><input type="text" name="telefone" id="textfield7" /></td> </tr> <tr> <td>Celular:</td> <td><input type="text" name="celular" id="textfield8" /></td> </tr> <tr> <td>Cpf/Cnpj:</td> <td><input type="text" name="cpfcnpj" id="textfield9" /></td> </tr> <tr> <td> </td> <td><input type="submit" name="button" id="button" value="Cadastrar" /></td> </tr> <tr> <td> </td> <td> </td> </tr> </table></form></body></html>//class de insertclass clienteSql extends Conexao { public $con; public function __construct() { $this->con = Conexao::getConnection(); } //funcao para fazer select na tabela public function Insert($cliente) { $query = "INSERT INTO clientes (NomeCliente, Email, Numero, Cgc, Cpf, Endereco, Bairro, Cidade, Estado, Cep, Telefone1, Celular ) VALUES (:nome, :email, :numero, :cnpj, :cpf, :endereco, :bairro, :cidade, :estado, :cep, :telefone, :celular)"; try { $stmt = $this->con->prepare($query); $stmt->bindValue(':nome', $cliente->getNome()); $stmt->bindValue(':email', $cliente->getEmail()); $stmt->bindValue(':numero', $cliente->getNumero()); $stmt->bindValue(':cnpj', $cliente->getCnpj()); $stmt->bindValue(':cpf', $cliente->getCpf()); $stmt->bindValue(':endereco', $cliente->getEndereco()); $stmt->bindValue(':bairro', $cliente->getBairro()); $stmt->bindValue(':cidade', $cliente->getCidade()); $stmt->bindValue(':estado', $cliente->getEstado()); $stmt->bindValue(':cep', $cliente->getCep()); $stmt->bindValue(':telefone', $cliente->getTelefone()); $stmt->bindValue(':celular', $cliente->getCelular()); return $stmt->execute(); } catch (PDOException $ex) { echo $ex->getMessage(); } } public function Update($cliente) { $query = "UPDATE clientes SET NomeCliente=:nome, email=:email, telefone=:telefone where id_cliente=:id_cliente"; try { $stmt = $this->con->prepare($query); $stmt->bindValue(':nome', $user->getNome()); $stmt->bindValue(':email', $user->getEmail()); $stmt->bindValue(':telefone', $user->getTelefone()); $stmt->bindValue(':id_cliente', $user->getIdCliente()); $stmt->execute(); } catch (PDOException $ex) { echo $ex->getMessage(); } }}?> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 junaooaks Postado Agosto 27, 2010 Autor Denunciar Share Postado Agosto 27, 2010 na class do INSERT esta dando um erroERRO:could not find driver Fatal error: Call to a member function prepare() on a non-object in /var/www/sisgew/mysql/clienteSql.php on line 32e estas linhas$stmt = $this->con->prepare("INSERT INTO clientes (NomeCliente, Email, Numero, Cgc, Cpf, Endereco, Bairro, Cidade, Estado, Cep, Telefone1, Celular ) VALUES (:nome, :email, :numero, :cnpj, :cpf, :endereco, :bairro, :cidade, :estado, :cep, :telefone, :celular)");pessoal preciso de ajudalembrando que configurei no arquivo do php.ini a saida para PDO Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 The Leandro Machado Postado Agosto 27, 2010 Denunciar Share Postado Agosto 27, 2010 na class do INSERT esta dando um erroERRO:could not find driver Fatal error: Call to a member function prepare() on a non-object in /var/www/sisgew/mysql/clienteSql.php on line 32 e estas linhas$stmt = $this->con->prepare("INSERT INTO clientes (NomeCliente, Email, Numero, Cgc, Cpf, Endereco, Bairro, Cidade, Estado, Cep, Telefone1, Celular ) VALUES (:nome, :email, :numero, :cnpj, :cpf, :endereco, :bairro, :cidade, :estado, :cep, :telefone, :celular)"); pessoal preciso de ajuda lembrando que configurei no arquivo do php.ini a saida para PDO amigo, teu código esta limpo, ótimo, parabens... mas tente usar a seguinte sintaxe nessa linha ai: $stmt = $this->con->prepare('INSERT INTO clientes (NomeCliente, Email, Numero, Cgc, Cpf, Endereco, Bairro, Cidade, Estado, Cep, Telefone1, Celular ) VALUES (:nome, :email, :numero, :cnpj, :cpf, :endereco, :bairro, :cidade, :estado, :cep, :telefone, :celular)');não sei se vai mudar, mas de acordo com esse manual aqui:http://pear.php.net/manual/en/package.database.db.intro-execute.phpusaria a sintaxe com apertura de aspa simples.abraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 junaooaks Postado Agosto 27, 2010 Autor Denunciar Share Postado Agosto 27, 2010 obrigado Leandro por respondermas o erro persiste :wacko: Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
junaooaks
pessoal sou iniciante em php oop já li um monte de artigo estou partindo para a pratica
estou criando uma class para cadastro de cliente usando os métodos get e set para entrada e saida
criei as class CONEXÃO, CLIENTE, FORMULÁRIO, clienteSql
so que não sei como juntar as class de forma que quando digitado no formulário cadastrasse no banco de dados
bom vamos ao codigo:
class de conexao com o banco de dados
//class com os metodos get e set//formulario html
//class de insertLink para o comentário
Compartilhar em outros sites
3 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.