Você está na página 1de 18

Anlise e Desenvolvimento de Sistemas

Disciplina:
Prof.(a):
Aula:
Semestre:

Programao Web I
Veronice de Freitas
04 - PHP / MySQL
5

Aula Atividade
Objetivo da Atividade:
Essa atividade tem por funo trabalhar com contedos abordados na disciplina usando
PHP e MYSQL.
Orientao:
Caro aluno,
O exemplo agenda de contato (autor: Alexandre Pina) possibilita executar as opes
relacionadas a um CRUD (acrnimo de Create, Read, Update e Delete em lngua
Inglesa). Faa download do exemplo referente a agenda (ser disponibilizado no frum)
durante a aula atividade da teleaula 05. Para executar o exemplo necessrio criar o
banco de dados bdAgenda e criar a tabela exemplo agenda.
Atividade:
Nessa atividade para analisa / testar o exemplo seguindo a sequncia de cdigos
relacionada a seguir.
Obs: verifique a ordem de execuo dos cdigos no texto. Se tentar executar diretamente
cada arquivo ir apresentar mensagem de erro devido aos parmetros que enviado em
cada operao.
Arquivo principal

Obs: nos cdigos foram utilizados blocos de estilos internos dentro dos arquivos (aps
analisar e executar os cdigos). Faa uma cpia dos arquivos em outra pasta e altere os
cdigos excluindo as formataes internas para definir a formatao em um arquivo CSS.

UNOPAR VIRTUAL (pgina: 1)

Anlise e Desenvolvimento de Sistemas


<head>
<title> Exemplo - Like</title>

Exemplo: arquivo externo

<link rel="stylesheet" type="text/css" href="css/geral.css" />


</head>

Exemplo: arquivo geral.css


Obs: se os nomes dos estilos forem diferentes dos nomes das tags HTML necessrio
usar a especificao class para usar o estilo no documento. Por exemplo:
class="myinputstyle">
BODY {
background: #7093DB;
Obs: esse arquivo pode ser
color: #000000;
font-family: Tahoma, Verdana, sans-serif;
colocado dentro da pasta
font-size: 11px;
css.
font-weight: normal;
margin-bottom: 0;
margin-left: 0;
Estilo que foi usado
margin-right: 0;
margin-top: 0;
internamente nos arquivos
text-decoration: none;
que podem ser includos no
scrollbar-darkshadow-color: #78acff;
arquivo geral.css.
scrollbar-3dlight-color: #78acff;
scrollbar-arrow-color: #000000;
scrollbar-base-color: #eaf2ff;
scrollbar-face-color: #eaf2ff;
<style type="text/css">
scrollbar-highlight-color: #eaf2ff;
scrollbar-shadow-color: #eaf2ff;
.myinputstyle {
scrollbar-track-color: #ffffff;
border: 1px solid #FFFFFF;
}
background:
url(none)
no-repeat
#FFFFFF;
font-family: tahoma, helvetica, sansh1 {
serif;
border-width: thick;
font-style: normal;
border-style: outset;
font-size: 14px;
border-color: gold;
color: #454743;
}
}
h2 {
border-width: 20px;
.mylabelstyle {
border-style: double;
font-family: tahoma, helvetica, sansborder-color: red;
serif;
}
font-style: bold;
p {
font-size: 13px;
border-top-width: 1px;
color: #82983e;
border-style: solid;
}
border-color: blue;
</style>
}
TH {
font-family:tahoma,sans-serif;
font-size:11px;
background: #009ACD;
color:#000066;
text-decoration:none;
font-weight: normal;

UNOPAR VIRTUAL (pgina: 2)

Anlise e Desenvolvimento de Sistemas


text-indent: 4px;
height:30px;
}
TR.zebraA {
font-family:tahoma,sans-serif;
font-size:11px;
background: #CAE1FF;
color:#000066;
text-decoration:none;
font-weight: normal;
text-indent: 4px;
height:30px;
}
TR.zebraB {
font-family:tahoma,sans-serif;
font-size:11px;
background: #BCD2EE;
color:#000066;
text-decoration:none;
font-weight: normal;
text-indent: 4px;
height:30px;
}
TD {
font-family: Tahoma, Verdana, sans-serif;
font-size: 12px;
}

NOME DO BANCO DE DADOS PHPMYADMIN - bdAgenda


bdAgenda (crie o banco de dados)
bdAgenda

Executar o script criar a


tabela agenda
(prximo cdigo)

TABELA agenda (crie a tabela)

UNOPAR VIRTUAL (pgina: 3)

Anlise e Desenvolvimento de Sistemas


create table agenda (
id_contato int auto_increment primary key,
nome varchar(100),
telefone varchar(12),
comercial varchar(12),
celular varchar(12),
celular2 varchar(12),
email varchar(100),
site varchar(100),
observacao varchar(100)
);
ARQUIVO DE CONFIGURAES config.php
<?php
$db = mysql_connect("127.0.0.1","root","");
$dado = mysql_select_db("bdAgenda",$db);
?>

Informar no arquivo
de configuraes o
nome do banco de
dados bdAgenda

TELA INICIAL DA AGENDA DE CONTATOS (agenda.php)

Ao clicar em cada letra


ir obter a listagem de
contato correspondente.

Acesso ao formulrio
de cadastro.
<!-- Agenda de contatos desenvolvida por Alexandre Pina alexandrepina25@yahoo.co.uk -->
Mtodo GET
<?php
include "config.php";
Envia a letra do alfabeto
?>
que ser usada como
<h1 align = Center> AGENDA DE CONTATOS </h1>
<br>
<br>
<a href="pesquisa_agenda.php?contato=a">A</a> &nbsp;
<a href="pesquisa_agenda.php?contato=b">B</a> &nbsp;
<a href="pesquisa_agenda.php?contato=c">C</a> &nbsp;
<a href="pesquisa_agenda.php?contato=d">D</a> &nbsp;

UNOPAR VIRTUAL (pgina: 4)

critrio de pesquisa para


listar os dados

Anlise e Desenvolvimento de Sistemas


<a href="pesquisa_agenda.php?contato=e">E</a> &nbsp;
<a href="pesquisa_agenda.php?contato=f">F</a> &nbsp;
<a href="pesquisa_agenda.php?contato=g">G</a> &nbsp;
<a href="pesquisa_agenda.php?contato=h">H</a> &nbsp;
<a href="pesquisa_agenda.php?contato=i">I</a> &nbsp;
<a href="pesquisa_agenda.php?contato=j">J</a> &nbsp;
<a href="pesquisa_agenda.php?contato=k">K</a> &nbsp;
<a href="pesquisa_agenda.php?contato=l">L</a> &nbsp;
<a href="pesquisa_agenda.php?contato=m">M</a> &nbsp;
<a href="pesquisa_agenda.php?contato=n">N</a> &nbsp;
<a href="pesquisa_agenda.php?contato=o">O</a> &nbsp;
<a href="pesquisa_agenda.php?contato=p">P</a> &nbsp;
<a href="pesquisa_agenda.php?contato=q">Q</a> &nbsp;
<a href="pesquisa_agenda.php?contato=r">R</a> &nbsp;
<a href="pesquisa_agenda.php?contato=s">S</a> &nbsp;
<a href="pesquisa_agenda.php?contato=t">T</a> &nbsp;
<a href="pesquisa_agenda.php?contato=u">U</a> &nbsp;
<a href="pesquisa_agenda.php?contato=v">V</a> &nbsp;
<a href="pesquisa_agenda.php?contato=w">W</a> &nbsp;
<a href="pesquisa_agenda.php?contato=x">X</a> &nbsp;
<a href="pesquisa_agenda.php?contato=y">Y</a> &nbsp;
<a href="pesquisa_agenda.php?contato=z">Z</a> &nbsp;
<br>
<br>
<a href="form-cad-agenda.php"><h3>Inserir Novo contato</h3></a>
<!-- Agenda de contatos desenvolvida por Alexandre Pina alexandrepina25@yahoo.co.uk -->

INSERIR NOVO CONTATO (form-cad-agenda.php)

UNOPAR VIRTUAL (pgina: 5)

Anlise e Desenvolvimento de Sistemas


Obs: Nesse exemplo foi utilizado bloco de cdigo
CSS interno dentro do cdigo.

<?php
include "config.php";
?>
<a href="agenda.php">Voltar</a>

Obs: nos exemplos usados nas teleaulas foi utilizado


na seo head.

<link rel="stylesheet" type="text/css"


href="css/geral.css" />
<h1 align=Center>Agenda de contatos </h1>
Obs: Outra forma de usar CSS da forma inline,
como por exemplo:
</center>
<br>

<p style="color:#000; margin: 5px;"> </p>

<style type="text/css">

/** You can use this style for your INPUT, TEXTAREA, SELECT elements **/
.myinputstyle {
border: 1px solid #FFFFFF;
/** remember to change image path **/
background: url(none) no-repeat #FFFFFF;
font-family: tahoma, helvetica, sans-serif;
font-style: normal;
font-size: 14px;
Arquivo que ir
color: #454743;
inserir o registro.
}
/** You can use this style for your LABEL elements **/
.mylabelstyle {
font-family: tahoma, helvetica, sans-serif;
font-style: bold;
font-size: 13px;
color: #82983e;
Mtodo
}
</style>
<FORM name=agenda method=post
class="myinputstyle">

alig="center"

POST

action="cadastrar-agenda.php"

Usando o estilo

<hr>
<TABLE BORDER=0 align="center"

cellspacing= width="800">

<TR>
<TD bgcolor="#66cc00" class="myinputstyle" size=100>Nome:</TD>
<TD bgcolor="#EBEBEB">
<INPUT type=text name="nome" size="100" class="myinputstyle">
</TD>
</TR>
<TR>
<TD bgcolor="#CCCCCC" class="myinputstyle" size=13 >Telefone:</TD>
<TD bgcolor="#EBEBEB" >
<INPUT type=text name="telefone" size="13" class="myinputstyle">
</TD>
</TR>
<TR>
<TD bgcolor="#CCCCCC" class="myinputstyle" size=13
Comercial:</TD>
<TD bgcolor="#EBEBEB" >

UNOPAR VIRTUAL (pgina: 6)

>Telefone

Anlise e Desenvolvimento de Sistemas


<INPUT type=text name="comercial" size="13" class="myinputstyle">
</TD>
</TR>
<TR>
<TD bgcolor="#CCCCCC" class="myinputstyle" size=13 >Celular:</TD>
<TD bgcolor="#EBEBEB" >
<INPUT type=text name="celular" size="13" class="myinputstyle">
</TD>
</TR>
<TR>
<TD bgcolor="#CCCCCC" class="myinputstyle" size=13 >Celular 2:</TD>
<TD bgcolor="#EBEBEB" >
<INPUT type=text name="celular2" size="13" class="myinputstyle">
</TD>
</TR>
<TR>
<TD bgcolor="#CCCCCC" class="myinputstyle" size=100 >E-mail:</TD>
<TD bgcolor="#EBEBEB" >
<INPUT type=text name="email" size="100" class="myinputstyle">
</TD>
</TR>
<TR>
<TD bgcolor="#CCCCCC" class="myinputstyle" size=100 >Site:</TD>
<TD bgcolor="#EBEBEB" >
<INPUT type=text name="site" size="100" class="myinputstyle">
</TD>
</TR>
<TR>
<TD bgcolor="#CCCCCC" class="myinputstyle">Observaes</TD>
<TD bgcolor="#EBEBEB">
<TEXTAREA name=observacao rows=10 cols=40 class="myinputstyle"></TEXTAREA>
</td>
</TR>
<TR>
<TD COLSPAN=2 align="center" class="myinputstyle">
<INPUT type="submit" value="Enviar" align="center">
</TD>
</TR>
</TABLE>
</FORM>

INSERIR NOVO CONTATO NO BANCO DE DADOS (cadastrar-agenda.php)


<?php
include "config.php";
?>
<?php
$sql = "INSERT INTO agenda(
nome,
telefone,
comercial,
celular,

UNOPAR VIRTUAL (pgina: 7)

Anlise e Desenvolvimento de Sistemas


celular2,
email,
site,
observacao
)
Values
('".$_POST["nome"]."',
'".$_POST['telefone']."',
'".$_POST['comercial']."',
'".$_POST['celular']."',
'".$_POST['celular2']."',
'".$_POST['email']."',
'".$_POST['site']."',
'".$_POST['observacao']."'
)";
//echo $sql;
//Executo a minha query
//echo $sql;
$query = mysql_query($sql);
//Verifico se o registro foi inserido com sucesso
if ($query == true) {
include "agenda.php";
}
else {
echo "No foi possivel inserir o registro - entre em contato com o webmaster
".mysql_error();
}
?>

EXIBIR CONTATO (exemplo: na lista de contato selecionei a letra M)


Agenda.php

Agenda.php

pesquisa_agenda.php

UNOPAR VIRTUAL (pgina: 8)

Anlise e Desenvolvimento de Sistemas


pesquisa_agenda.php
<h1 align=Center> Agenda de contatos - pesquisa</h1></center>
<!-- Agenda de contatos desenvolvida por Alexandre Pina alexandrepina25@yahoo.co.uk -->
<font size="verdana">
<?php
include "config.php";
?>
<?php
$inicial= $_GET['contato'];
$busca = mysql_query("select * from agenda where nome like '$inicial%'") or
trigger_error('Erro ao executar consutla. Detalhes = ' . mysql_error());
//echo $busca;
if (empty($busca)) { //Se nao achar nada, lana essa mensagem
echo "<table>";
echo "<tr>";
echo "<td>" ;
echo "Nenhum registro encontrado.";
echo "</td>";
echo "</tr>";
echo "</table";
}
// quando existir algo em '$busca' ele realizar o script abaixo.
while ($dados = mysql_fetch_array($busca)) {
echo "<table width=500 align=center>";
echo "<td bgcolor=#ebf3ff><b></b>";
echo "</td>";
echo "<tr>";
echo "<td width=50>";
echo "<font size=1>Id: $dados[id_contato]</font>";
echo "</td>";
echo "<td width=450 bgcolor=#ebf3ff>";
echo "<b><a href='agendaexibir.php?id_contato={$dados['id_contato']}'><font color=black
size=elvetica>$dados[nome]</font></a><br />";
echo "</tr>";
echo "</td>";

echo
echo
echo
echo

"<td bgcolor=#f8f8fA>";
"</td>";
"</tr>";
"</td>";

UNOPAR VIRTUAL (pgina: 9)

Anlise e Desenvolvimento de Sistemas

echo "</table>";
}
echo "<b><center><a href='agenda.php'>Voltar</a></b></center>";
?>
<br>

EXIBIR CONTATO (exemplo: na lista de contato selecionei a letra M)


agenda-exibir.php

No
cdigo
anterior
pesquisa_agenda.php

apresentado a listagem de contato


referente a letra que o usurio
escolheu na pgina principal da
agenda. Ao selecionar um item da
pesquisa apresentado os dados
do registro com a opo de
Atualizar ou excluir o cadastro.

Atravs dp HREF criado um hiperlink para a opo passando o


cdigo do usurio.
href='form-alterar-contato.php?id_contato={$dados['id_contato']}'>
Atualizar Contato</a></b>";

Obs: para EXCLUIR tambm passado o cdigo do usurio.

<center>
<h1>Agenda de Contatos</h1></center>
<font size="verdana">
<?php
include "config.php";
?>

UNOPAR VIRTUAL (pgina: 10)

Anlise e Desenvolvimento de Sistemas


<?php
$inicial= $_GET['id_contato'];
$busca = mysql_query("select * from agenda where id_contato='$inicial%'") or
trigger_error('Erro ao executar consutla. Detalhes = ' . mysql_error());
if (empty($busca)) { //Se nao achar nada, lana essa mensagem
echo "<table>";
echo "<tr>";
echo "<td>" ;
echo "Nenhum registro encontrado.";
echo "</td>";
echo "</tr>";
echo "</table";
}
// quando existir algo em '$busca' ele realizar o script abaixo.
while ($dados = mysql_fetch_array($busca)) {
echo "<table width=700 align=center>";
echo "<td bgcolor=#ebf3ff><b></b>";
echo "</td>";
echo "</tr>";
echo "<tr>";
echo "<td>";
echo "<b>Id do Contato:</b> $dados[id_contato]<br />";

echo "</tr>";
echo "</td>";
echo "<tr>";
echo "<td>";
echo "<b>Nome completo:</b> <font color=blue>$dados[nome]</font><br />";
echo "</tr>";
echo "</td>";
echo "<tr>";
echo "<td>";
echo "<b>Telefone:</b><font color=blue> $dados[telefone]</font><br />";
echo "</tr>";
echo "</td>";
echo "<tr>";
echo "<td>";
echo
"<b>Telefone
$dados[comercial]</font><br />";
echo "</tr>";
echo "</td>";

Comercial:</b><font

UNOPAR VIRTUAL (pgina: 11)

color=blue>

Anlise e Desenvolvimento de Sistemas


echo "<tr>";
echo "<td>";
echo "<b>Celular:</b><font color=blue> $dados[celular]</font><br />";
echo "</tr>";
echo "</td>";
echo "<tr>";
echo "<td>";
echo "<b>Celular2:</b><font color=blue> $dados[celular2]<font><br />";
echo "</tr>";
echo "</td>";
echo "<tr>";
echo "<td>";
echo "<b>E-mail:</b>&nbsp $dados[email]<br />";
echo "</tr>";
echo "</td>";
echo "<tr>";
echo "<td>";
echo "<b>Site:</b> $dados[site]<br />";
echo "</tr>";
echo "</td>";
echo "<tr>";
echo "<td>";

echo "<b>Observaes:</b> $dados[observacao]<br />";


echo "</tr>";
echo "</td>";

echo "<tr>";
echo "<td>";
echo "<br><br>";
echo "<center<b><a href='form-alterarcontato.php?id_contato={$dados['id_contato']}'>Atualizar Contato</a></b>";
echo "<br><br>";
echo "<center<b><a href='deletarcontato.php?id_contato={$dados['id_contato']}'>Excluir Cadastro</a></b>";
echo "<br><br>";
echo "<b><a href='agenda.php'>Voltar</a></b></center>";
echo
echo
echo
echo

"</tr>";
"</td>";
"<tr>";
"<td bgcolor=#f8f8fA>";

UNOPAR VIRTUAL (pgina: 12)

Anlise e Desenvolvimento de Sistemas


echo "</td>";
echo "</tr>";
echo "</td>";
echo "</table>";
}
?>
<br>

ALTERAR CONTATO (FORMULRIO)

agenda-exibir.php

form-alterar-contato.php

altera-contato.php

form-alterar-contato.php
<?php
include "config.php";
?>

UNOPAR VIRTUAL (pgina: 13)

Anlise e Desenvolvimento de Sistemas

<a href="agenda.php">Voltar</a>
<br>
<h1 align = Center> Agenda de contatos </h1></img>

<head>
<style type="text/css">

Repete o
estilo

/**
* Generated by www.formstylegenerator.com
**/

/** You can use this style for your INPUT, TEXTAREA, SELECT elements **/
.myinputstyle {
border: 1px solid #FFFFFF;
/** remember to change image path **/
background: url(none) no-repeat #FFFFFF;
font-family: tahoma, helvetica, sans-serif;
font-style: normal;
font-size: 14px;
color: #454743;
}
/** You can use this style for your LABEL elements **/
.mylabelstyle {
font-family: tahoma, helvetica, sans-serif;
font-style: bold;
font-size: 13px;
color: #82983e;
}
</style>
</head>

<?php
$sql = "select * from agenda where id_contato=" .$_GET['id_contato'];
$resultado = mysql_query($sql)
or die ("No foi possivel realizar a consulta");
$linha = mysql_fetch_array($resultado);
?>
<br>
<center>
<h1 align=Center>Alterar Cadastro</h1>

Altera-contato.php contm
a instruo SQL para
atualizar o banco de dados.

<form action="altera-contato.php?id_contato=<?php echo


method="post" align="center" class="myinputstyle">
<table width="680" class="myinputstyle">
<tr>
<td class="myinputstyle">Nome</td>

UNOPAR VIRTUAL (pgina: 14)

$_GET['id_contato']?>"

Anlise e Desenvolvimento de Sistemas


<td><input name="nome" type="text" value="<?php echo $linha['nome']?>" ></td>
</tr>
<tr>
<td class="myinputstyle">Telefone</td>
<td><input name="telefone" type="text" value="<?php echo $linha['telefone']?>"
></td>
</tr>
<tr>
<tr>
<td class="myinputstyle">Telefone Comercial</td>
<td><input
name="comercial"
type="text"
$linha['comercial']?>"></td>
</tr>

value="<?php

echo

<tr>
<tr>
<td class="myinputstyle">Celular</td>
<td class="myinputstyle"><input name="celular"
$linha['celular']?>"></td>
</tr>

type="text"

value="<?php

echo

type="text"

value="<?php

echo

<tr>
<tr>
<td class="myinputstyle">Celular2</td>
<td class="myinputstyle"><input name="celular2"
$linha['celular2']?>"></td>
</tr>
<tr>
<tr>
<td class="myinputstyle">E-mail</td>
<td class="myinputstyle"><input name="email" size=100 type="text" value="<?php
echo $linha['email']?>"></td>
</tr>
<tr>
<tr>
<td class="myinputstyle">Site</td>
<td class="myinputstyle"><input name="site"
echo $linha['site']?>"></td>
</tr>

size=100

type="text"

value="<?php

<tr>

<tr>
<td class="myinputstyle">Observao</td>
<td><input
size=100
name="observacao"
$linha['observacao']?>"></td>
</tr>

type="text"

<tr>

UNOPAR VIRTUAL (pgina: 15)

value="<?php

echo

Anlise e Desenvolvimento de Sistemas


<tr>
<td align="right" class="myinputstyle">
<input type="submit" value="Alterar">
</td>
</tr>
</form>
</table>

ALTERAR CONTATO SQL / UPDATE


altera-contato.php

<?php
include "config.php";
?>
<a href="agenda.php">Voltar</a>
<?php
$sql = ("UPDATE agenda SET
nome='".$_POST['nome']."',
telefone='".$_POST['telefone']."',
comercial='".$_POST['comercial']."',
celular='".$_POST['celular']."',
celular2='".$_POST['celular2']."',
email='".$_POST['email']."',
site='".$_POST['site']."',
observacao='".$_POST['observacao']."'
where id_contato=" .$_GET['id_contato']);
$resultado = mysql_query($sql)
or die (mysql_error());
?>
<br>

UNOPAR VIRTUAL (pgina: 16)

Anlise e Desenvolvimento de Sistemas

<h1>Registro Alterado com sucesso</h1>


<!-- Agenda de contatos desenvolvida por Alexandre Pina alexandrepina25@yahoo.co.uk -->

EXCLUIR CONTATO (deletar-contato.php)

agenda-exibir.php

deletar-contato

<?php
include "config.php";
?>
<a href="agenda.php">Voltar</a>
<!-- Agenda de contatos desenvolvida por Alexandre Pina alexandrepina25@yahoo.co.uk -->
<?php
//Monto minha query de excluso de dados
$sql = "DELETE FROM agenda WHERE id_contato = ".$_GET["id_contato"];
//Executo a minha query

UNOPAR VIRTUAL (pgina: 17)

Anlise e Desenvolvimento de Sistemas


$query = mysql_query($sql);
//Verifico se o registro foi excludo com sucesso
if ($query == true) {
echo "Registro excludo com sucesso";
}
else {
echo "No foi possvel excluir seu registro";
}
?>

Observaes:
Caro Aluno,
Pea para o tutor de sala enviar suas dvidas pelo Chat Atividade para que o professor
possa esclarec-las.
Tenham um timo trabalho!
Prof.Veronice de Freitas

UNOPAR VIRTUAL (pgina: 18)

Você também pode gostar