Exercício de PHP + MYSQL > Criação de SISTEMA DE

Propaganda
Exercício de PHP + MYSQL > Criação de SISTEMA DE COMENTÁRIOS.
PHP + MYSQL > SISTEMA DE COMENTÁRIOS.
Vamos aprender a criar um sistema de comentários em PHP.
Será usado seguinte código:
Primeiro passo é criar a Base de Dados
CREATE DATABASE bdcomentarios
Após criada a BD, vamos criar a tabela “tbcomentarios”
A tabela conterá as colunsa 'id', 'nome', 'email', 'data' e 'comentário'.
Cria a tabela tbcomentarios:
CREATE TABLE 'tbcomentarios'

'id' INT( 5 ) NOT NULL AUTO_INCREMENT PRIMARY KEY
Cria uma coluna chamada 'id' do tipo inteiro de tamanho 5

PRIMARY KEY
Determina que o atributo 'id' será chave primária

AUTO_INCREMENT
Significa que a cada novo registo inserido, o valor do atributo 'id' será acrescido de 1 unidade
automaticamente.



'nome' VARCHAR(30) NOT NULL,
'email' VARCHAR(30) NOT NULL,
'comentario' VARCHAR(255) NOT NULL
Criar os atributos nome, email e comentario, do tipo varchar e com tamanhos de 30, 30, 255
respectivamente.

'data' DATE NOT NULL
Cria na tabela o atributo data do tipo DATE. Obs: não necessita definir o tamanho. No MySQL o formato
padrão da data é ano/mês/dia, por ex: 2011/06/17.
No final ficará com este aspecto:
CREATE TABLE `tbcomentarios` (
'id' INT( 5 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
'nome' VARCHAR( 30 ) NOT NULL ,
'email' VARCHAR( 30 ) NOT NULL ,
'data' DATE NOT NULL ,
'comentario' VARCHAR( 255 ) NOT NULL
) ;
Criado a BD 'bdcomentarios', e a tabela 'tbcomentarios' iremos escrever código PHP.
Crie um novo arquivo PHP com o nome formulario.php
A primeira coisa após criado o arquivo é colocar as tags HTML
<HTML>
<HEAD>
<TITLE>Sistemas de Comentários</TITLE>
</HEAD>
<BODY>
<h3>Comentários Enviados pelos Utilizadores</h3>
Não vou detalhar pois o nosso foco é o php e não o HTML.
Formador: António José Araújo
FT 0155 – Base de Dados para a Internet
Exercício de PHP + MYSQL > Criação de SISTEMA DE COMENTÁRIOS.
Depois disso vamos, ligar à BD através do PHP:
<?php
$ligacao = mysql_connect("localhost",'root','');
$bd = mysql_select_db("bdcomentarios");
?>
Endereço do servidor onde executa os scripts PHP, colocamos localhost, por estares a utilizar o seu
computador;

"localhost"
Nome de utilizador da BD

'root'
A password da BD, neste caso não tem password, portanto deixamos vazio.

''
Responsável por selecionar a BD a ser usada, será o código:

mysql_select_db("bdcomentarios")
O código neste momento ficará assim:
<HTML>
<HEAD>
<TITLE>Comentários</TITLE>
</HEAD>
<BODY>
<h3>Comentários Enviados pelos Utilizadores</h3>
<?php
$ligacao = mysql_connect("localhost",'root','');
$bd = mysql_select_db("bdcomentarios");
?>
Agora vamos criar o formulário a ser utilizado, para isso acrescentemos o seguinte código:
<form name="form" method="post" action="#">
Nome:
<input type=text name=nome>
<br><br>
E-Mail:
<input type=text name=email>
<br><br>
Mensagem:
<br><textarea name=comentario></textarea>
<br><br>
<input type=submit value=Enviar>
<input type=reset value=Limpar>
</form>
<hr>
Formador: António José Araújo
FT 0155 – Base de Dados para a Internet
Exercício de PHP + MYSQL > Criação de SISTEMA DE COMENTÁRIOS.
O objetivo até aqui será o PHP e não o HTML, portanto explicando o seguinte código:

action="#" - significa que ao clicar no botão "enviar" os dados serão enviados para o próprio
arquivo formulario.php e processados.
Agora vamos para o código PHP responsável pela inserção dos dados na BD e a visualização dos mesmos:
<?php
$nome=$_POST['nome'];
$email=$_POST['email'];
$data = date("Y/m/d");
$comentario=$_POST['comentario'];
?>
Este código faz com que as variáveis $nome, $email, $data e $comentario recebam os valores que foram
digitados nos campos do formulário.

$nome= $_POST['nome'];
A variavel $nome recebe o valor digitado no campo do formulário que possue o name = 'nome'

$data = date("Y/m/d");
A variável $data é diferente por se tratar de manipulação de data, portanto, "date(Y/m/d)"
significa que a variável $data vão receber a data do envio do formulário no formato ano, mês,
dia(Y/m/d).
Agora vamos inserir os dados na BD:
$insert = mysql_query("INSERT INTO tbcomentarios (nome,email,data,comentario) values
('$nome','$email','$data','$comentario')");
As colunas nome, email, data e comentario da tabela tbcomentários vão receber o valor contido nas
variáveis '$nome', '$email', '$data' e '$comentario' respectivamente.
Agora vamos fazer a consulta na BD e exibir os dados nela contidos:
$sql = "SELECT * FROM tbcomentarios ORDER BY id desc";
O código acima seleciona todos os comentários inseridos e exibe-os por ordem decrescente de acordo
com o id.
O comando "order by id" significa que será ordenado por 'id' e o comando "DESC" ordena por ordem
decrescente.
Isso faz com que os comentários sejam exibidos do último para o primeiro.
$executar = mysql_query($sql);
O comando mysql_query() é responsável por enviar uma consulta MySQL;
E para listar todos os comentários vamos fazer um while para exibir todos os dados:
while( $exibir = mysql_fetch_array($executar)){
echo $exibir['data'];
echo "</br>";
echo $exibir['nome'];
echo "</br>";
echo $exibir['email'];
echo "</br>";
echo $exibir['comentario'];
echo "</br><hr>";
}
?>
Formador: António José Araújo
FT 0155 – Base de Dados para a Internet
Exercício de PHP + MYSQL > Criação de SISTEMA DE COMENTÁRIOS.
$exibir = mysql_fetch_array($executar)
Esse comando retorna uma matriz que corresponde a linha obtida na consulta.
A variável $exibir é responsável por receber os dados dessa matriz.
Por fim, os comandos echo $exibir['data']; echo $exibir['nome'] ... vão exibir os dados devolvidos da
consulta.
A SEGUIR SERÁ MOSTRADO TODO O CÓDIGO FINAL:
Criação da BD e da tabela:
CREATE DATABASE bdcomentarios
CREATE TABLE `tbcomentarios` (
'id' INT( 5 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
'nome' VARCHAR( 30 ) NOT NULL ,
'email' VARCHAR( 30 ) NOT NULL ,
'data' DATE NOT NULL ,
'comentario' VARCHAR( 255 ) NOT NULL
);
Ficheiro formulário.php
<HTML>
<HEAD>
<TITLE>Comentários</TITLE>
</HEAD>
<BODY>
<h3>Comentários Enviados pelos Utilizadores</h3>
<?php
$ligacao=mysql_connect("localhost",'root','');
$bd=mysql_select_db("bdcomentarios");
?>
<form name="form" method="post" action="#">
Nome:
<input type=text name=nome>
<br><br>E-Mail:
<input type=text name=email>
<br><br>Mensagem:<br>
<textarea name=comentario></textarea>
<br><br>
<input type=submit value=Enviar>
<input type=reset value=Limpar>
</form>
<hr>
<?php
$nome=$_POST['nome'];
$email=$_POST['email'];
$data = date("Y/m/d");
$comentario=$_POST['comentario'];
if(strlen($_POST['nome'])) #insere apenas se no form foi escrito o nome
Formador: António José Araújo
FT 0155 – Base de Dados para a Internet
Exercício de PHP + MYSQL > Criação de SISTEMA DE COMENTÁRIOS.
{
$insert = mysql_query("INSERT INTO tbcomentarios(nome,email,data,comentario)
values('$nome','$email','$data','$comentario')");
}
$sql = "SELECT * FROM tbcomentarios ORDER BY id desc";
$executar=mysql_query($sql);
while( $exibir = mysql_fetch_array($executar)){
echo $exibir['data'];
echo "</br>";
echo $exibir['nome'];
echo "</br>";
echo $exibir['email'];
echo "</br>";
echo $exibir['comentario'];
echo "</br><hr>";
}
?>
</BODY>
</HTML>
Segue abaixo uma imagem do Sistema de Comentários em funcionamento:
Comentários Enviados pelos Utilizadores
Bom trabalho!
Cumprimentos,
António José Araújo
Formador: António José Araújo
FT 0155 – Base de Dados para a Internet
Download