CRIANDO UM PROJETO COM TELAS Páginas com formulário Acesso ao banco de dados PHP MYSQL PARTE 2 Luciana Balieiro Cosme ESTRUTURA DA APLICAÇÃO LOGIN BANCO DE DADOS # Coluna Nome e Tipo 1 codigo int(11) AUTO_INCREMENT 2 titulo varchar(255) 3 resumo varchar(255) 4 noticia varchar(255) TAREFAS Incluir dentro da pasta config: bdconfig.inc mysql.php 1
CRIANDO A CLASSE MYSQL.PHP class MySQL private $server; // Armazena o endereço do servidor private $port; // Armazena a porta de conexão private $user; // Armazena o nome de usuário para conexão private $password; // Armazena a senha de usuário private $db; // Armazena o nome do banco de dados private $connection; // Armazena os dados de uma conexão private $resultset; // Armazena o ResultSet de uma consulta PARTE 2 /* Define os dados de conexão com o banco de dados */ public function setconfig() include_once("bdconfig.inc"); $this->server = $host; $this->port = $port; $this->user = $user; $this->password = $password; $this->db = $db; PARTE 3 /* Conecta ao banco de dados */ public function connect() $this->connection = new mysqli($this->server, $this->user, $this- >password, $this->db, $this->port); if($this->connection->errno) echo "Erro: $conexao->error"; exit(); public function disconnect() if($this->connection) $this->connection->close(); PARTE 4 /* Executa comandos sql */ public function executecommand($sql) if($this->connection) $this->resultset = $this->connection->query($sql); return $this->resultset; else return FALSE; public function geterror() return mysql_error(); ADMINISTRAÇÃO (FORMS) CADASTRAR NOTÍCIAS 2
CLASSE NOTÍCIA (MODELO) class Noticia var $codigo; var $titulo; var $resumo; var $texto; function setatributos($t, $r, $n) $this->titulo = $t; $this->resumo = $r; $this->texto = $n; PARTE 2 public function Salvar() $sql = "INSERT INTO NEWS (codigo, titulo, resumo, noticia) values (null,'".$this->titulo."', '".$this->resumo."', '".$this->texto."')"; //echo $sql; $bd->executecommand($sql); SALVAR NOTÍCIA (CADASTRARNOTICIAS.PHP) <body> if(isset($_post["enviar"])) $titulo = $_POST["titulo"]; $resumo = $_POST["resumo"]; $texto = $_POST["noticia"]; //$cod = $_POST["codigo"]; $noticia->salvar(); echo "Dados salvos com sucesso"; <div>... $noticia->setatributos($titulo, $resumo, $texto); BUSCAR NOTÍCIAS CLASSE NOTÍCIA Alterar a classe, com a inclusão do seguinte método: public function Buscar() $sql = "SELECT * FROM news;"; $resultado = $bd->executecommand($sql); return $resultado; 3
CÓDIGO <div class="conteudo"> $resultado = $noticia->buscar(); echo "<table style='width:90%; border:1px solid silver;margin:auto;'> <caption> Notícias Cadastradas </caption> <tr> <th> Código </th> <th colspan='3'> Título </th> </tr> "; CÓDIGO while(list($id, $titulo, $resumo,$texto) = $resultado->fetch_row()) echo "<tr> <td> $id: </td> <td> $titulo </td> //Para edição e exclusão que será feita mais a frente <td> <a href='cadastrarnoticias.php?op=editar&id=".$id."'> Editar </a></td> <td> <a href='excluir.php?id=".$id."'> Excluir </a></td> </tr>"; echo "</table>"; </div> EDIÇÃO CLASSE NOTÍCIA Alterar a classe, com a inclusão dos seguintes métodos: public function BuscarID() $sql = "SELECT * FROM news where codigo = $this->codigo";; $resultado = $bd->executecommand($sql); return $resultado; public function Editar() $sql = "Update NEWS set titulo = '".$this->titulo."', resumo = '".$this->resumo."', noticia = '".$this->texto."' where codigo = $this- >codigo"; $bd->executecommand($sql); NO FORM CADASTRARNOTICIAS.PHP Nos campos <input type="text" id="titulo" name="titulo" value=' if (isset($_get['id'])) echo $titulo; '/> Fazer para todos os campos Incluir campo oculto para o código <input type="hidden" id="codigo" name="codigo" value=' if ($_GET['id']) echo $_GET['id']; else echo '0 ; ' 4
NO FORM CADASTRARNOTICIAS.PHP Alteração (localizar) if(isset($_post["enviar"])) $titulo = $_POST["titulo"]; $resumo = $_POST["resumo"]; $texto = $_POST["noticia"]; $cod = $_POST["codigo"]; $noticia->setatributos($titulo, $resumo, $texto); //a partir desse ponto CONT if ($cod==0) $noticia->salvar(); echo "Dados salvos com sucesso"; else $noticia->codigo = $cod; $noticia->editar(); echo "Dados alterados com sucesso"; //localizar o código passado e recuperar os dados if (isset($_get['id'])) $noticia->codigo = $_GET['id']; $resultado = $noticia->buscarid(); list($codigo, $titulo,$resumo, $texto) = $resultado- >fetch_row(); EXERCÍCIO Exclusão CONTATO luciana.balieiro@ifnmg.edu.br 5