Você está na página 1de 76

PHP

Desenvolvida exclusivamente para o Apostilando.com


por Marcos Paulo Furlan

NDICE
NDICE .......................................................................................................................................... 2
INSTALANDO O WAMPSERVER. ............................................................................................... 3
PHP ............................................................................................................................................... 4

Sintaxe Bsica ................................................................................................ 6


Variveis ......................................................................................................... 7
Tipos de dados ............................................................................................... 8
Constantes...................................................................................................... 9
Operadores ................................................................................................... 10
Operadores lgicos ................................................................................... 14
Estruturas de Controle .................................................................................. 15
switch / case.............................................................................................. 16
For ............................................................................................................. 17
While ......................................................................................................... 17
do-while ..................................................................................................... 18
Matrizes ........................................................................................................ 18
INCLUSO DE ARQUIVOS ....................................................................................................... 19

Parmetros ................................................................................................... 21
FORMULRIOS .......................................................................................................................... 22
ENVIO DE E-MAILS ................................................................................................................... 23
BANCOS DE DADOS ................................................................................................................. 25

Introduo ao MySQL ................................................................................... 26


Exibio..................................................................................................... 32
ENTENDENDO UM POUCO SOBRE SQL ................................................................................ 33
CONECTANDO AO BANCO DE DADOS PELO DREAMWEAVER ......................................... 41
SISTEMA DE CADASTRO SIMPLES ........................................................................................ 49

Criando o banco de dados no phpMyAdmin ................................................. 54


Criando a conexo do Banco de Dados com o Dreamweaver .................. 57
Criando o formulrio de cadastro no Banco de Dados .............................. 59
Edio dos dados cadastrados ..................................................................... 65
Excluso de Registro .................................................................................... 69

INSTALANDO O WAMPSERVER.
Para podermos testar nossos cdigos em PHP necessria a utilizao de um
servidor com suporte a PHP. Caso ainda no possua um servio de
hospedagem, ou caso seu servio de hospedagem no de suporte
linguagem, voc pode testar suas pginas em PHP em um servidor local.
Vamos para dar andamento ao contedo da apostila usar o WAM Server, que
um pacote que j instala para voc o servidor internet local com suporte a PHP
e MySQL.
Basta ir clicando e avanando. Aps a instalao ser mostrado prximo ao
relgio o cone de seu servidor WEB.

Ao clicar sobre este cone voc ter acesso ao menu de opes de seu
servidor local.

No seu navegador digite http://localhost/.

Vamos a um exemplo simples de teste.


Abra o Dreamweaver ou mesmo o bloco de notas e digite o cdigo
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<?php echo "teste de texto"
?>
<body>
</body>
</html>

Salve como teste.php e salve na pasta: C:\wamp\www, depois digite em seu


navegador: http://localhost/teste.php.

PHP
PHP uma sigla recursiva que significa PHP HyperText Preprocessor. O
PHP uma linguagem de cdigo-fonte aberto, muito utilizada na Internet e

especialmente criada para o desenvolvimento de aplicativos Web.


Crie uma pasta chamada PHP dentro do diretrio WWW do wamp, ser nesta
pasta que colocaremos nossos scripts., podendo assim test-los.

O PHP focado para ser uma linguagem de script do lado do servidor,


portanto, voc pode fazer qualquer coisa que outro programa CGI pode fazer,
como: coletar dados de formulrios, gerar pginas com contedo dinmico ou
enviar e receber cookies.
Esses so os maiores campos onde os scripts PHP podem se utilizados:
Script no lado do servidor (server-side). Este o mais tradicional e
principal campo de atuao do PHP. Voc precisa de trs coisas
para seu trabalho. O interpretador do PHP (como CGI ou
mdulo), um servidor web e um browser. Basta rodar o servidor
web conectado a um PHP instalado. Voc pode acessar os
resultados de seu programa PHP com um browser, visualizando a
pgina PHP atravs do servidor web.
Script de linha de comando. Voc pode fazer um script PHP
funcionar sem um servidor web ou browser. A nica coisa
necessria o interpretador. Esse tipo de uso ideal para script
executados usando o cron ou o Agendador de Tarefas (no
Windows). Esses scripts podem ser usados tambm para rotinas
de processamento de texto.
Escrevendo aplicaes GUI no lado do cliente (client-side). O

PHP no (provavelmente) a melhor linguagem para produo


de aplicaes com interfaces em janelas, mas o PHP faz isso
muito bem, e se voc deseja usar alguns recursos avanados do
PHP em aplicaes no lado do cliente poder utilizar o PHP-GTK
para escrever esses programas. E programas escritos desta
forma ainda sero independentes de plataforma. O PHP-GTK
uma extenso do PHP, no disponvel na distribuio oficial. Se
voc est interessado no PHP-GTK, visite o site http://gtk.php.net.

Sintaxe Bsica
Tags especiais indicam ao PHP onde esto os blocos de cdigo. A tag de
abertura formada por um sinal de menor que (<), um sinal de interrogao
(?) e a sigla php. A tag de fechamento formada por um ponto interrogao (?)
e sinal de maior que (>).
Ex:
<?php
...
?>
Monte o exemplo abaixo:
<body>
<?php
$a = 10;
$b = 15;
$c = $a + $b;
echo "$a mais $b igual a $c";
?>
</body>
Explicando, criamos as variveis a e b e atribumos a ela um valor, depois
criamos a varivel c e definimos a ela a soma de a e b, depois escrevemos
isso em tela com o comando echo.
Podemos adicionar isso ao prprio cdigo como comentrios de boco /* e */. de
apenas uma linha so obtidos atravs de //.

Variveis
Variveis armazenam valores. Pode-se referir a variveis para obter seu valor
ou para alterar seu contedo.
No PHP elas so representadas por um cifro ($) mais o nome da varivel. Os
nomes de variveis vlidos so iniciados por letras ou por um subscrito ( _ ).
Existe diferenciao entre nomes de variveis maisculas e minsculas.
Quando a varivel declarada dentro de uma funo, ela s estar disponvel
para o cdigo desta funo. O cdigo a seguir gera um erro devido a essa
caracterstica.
<?php
function soma($a){
$b = $a + 5;
}
soma(10);
echo "o valor de 'b' $b";
?>
Para evitar este tipo de problema, deve-se definir a varivel como global. O
cdigo a seguir resolve o problema do cdigo anterior. Compare os resultados
dos dois scripts.
<?php
function soma($a)
{
global $b;
$b = $a + 5;

}
soma(10);
echo "o valor de 'b' $b";
?>

Tipos de dados
O PHP suporta vrios tipos de dados:
Inteiro Nmeros inteiros (isto , nmeros sem ponto decimal)
Nmeros de dupla preciso Nmeros reais (isto , nmeros que
contm um ponto decimal)
String Texto entre aspas simples ( ) ou duplas ( )
Booleanos armazenam valores verdadeiros ou falsos, usados em
testes de condies
Array Grupo de elementos do mesmo tipo
Objeto Grupo de atributos e mtodos
Recurso Uma origem de dados externa
Nulo Nenhum valor
<?php
//dados boleanos
$a = True;
if ($a)
{
echo "Verdadeiro";
}
else
{
echo "Falso";
}
echo '<p>';
// dados com hexadecimais

$a = 0x1A; //Corresponde ao decimal 26


$b = -16;
$c = $a + $b;
echo "a + b = $c";
echo '<p>';
//ponto flutuante so representados por (.)
$preco = 11.90;
$soma = $preco * 4;
echo "Quatro revistas W custam R$ $soma<br>";
echo '<p>';
//strings so representadas por aspas simples e duplas
$texto1 = 'Esse o primeiro texto.<br>';
$texto2 = "Esse o segundo texto.";
echo $texto1;
echo $texto2;
echo '<p>';
/*As variveis do tipo matriz ou array permitem o armazenamento de
diversos elementos
referenciados por uma mesma referncia*/
$frutas = array(
1 => "Laranja",
2 => "Ma",
3 => "Uva");
echo "<li> $frutas[1]<br>";
echo "<li> $frutas[2]<br>";
echo "<li> $frutas[3]<br>";
?>

Constantes
Constantes so identificadores para valores simples. O seu contedo no
muda durante a execuo do cdigo. Elas so criadas com a funo define e,
por conveno, so escritas com letras maisculas e no usam o cifro no
incio.

<?php
define("CONSTANTE", "Al mundo.");
echo CONSTANTE;
?>

Operadores
So usados para efetuarem operaes sobre as variveis e constantes. Os
operadores do PHP so:
+ soma
- subtrao
multiplicao
/ diviso
^ exponenciao
% mdulo, resto da diviso
++ acrescenta um a uma varivel
-- subtrai um de uma varivel
+= soma um valor a uma varivel e lhe atribui o resultado
<?php
$x = 2;
echo($x + 2);
echo "<br>";
$x = 2;
echo(5 - $x);
echo "<br>";
$x = 4;
echo($x * 5);
echo "<br>";
$x = 15;
echo($x / 5);
echo "<br>";
$x = 10;
echo($x % 8);

10

echo "<br>";
$x = 5;
$x++;
echo($x);
echo "<br>";
$x = 5;
$x--;
echo($x);
echo "<br>";
$x = 8;
echo($x);
echo "<br>";
$x = 8;
$x = $x + 10;
echo($x);
echo "<br>";
$x = 8;
$x += 10;
echo($x);
?>
H tambm os operadores de comparao. Uma comparao sempre gera um
dos dois valores possveis: vazio, que corresponde a falso, e 1, que
corresponde a verdadeiro.
= = igual a
! = no igual a
maior que
< menor que
>= maior ou igual a
<= menor ou igual a
<?php
$x = 5;
$resultado = ($x == 8);

11

if($resultado == 1)
{
echo "verdadeiro";
}
else
{
echo "falso";
}
echo "<br>";
$x = 5;
$resultado = ($x != 8);
if($resultado == 1)
{
echo "verdadeiro";
}
else
{
echo "falso";
}
echo "<br>";
$x = 5;
$resultado = ($x > 8);
if($resultado == 1)
{
echo "verdadeiro";
}
else
{
echo "falso";
}
echo "<br>";
$x = 5;

12

$resultado = ($x > 8);


if($resultado == 1)
{
echo "verdadeiro";
}
else
{
echo "falso";
}
echo "<br>";
$x = 5;
$resultado = ($x >= 8);
if($resultado == 1)
{
echo "verdadeiro";
}
else
{
echo "falso";
}
echo "<br>";
$x = 5;
$resultado = ($x <= 8);
if($resultado == 1)
{
echo "verdadeiro";
}
else
{
echo "falso";
}
?>

13

Operadores lgicos
and ou && - operador lgico e, apenas retornando verdadeiro quando as
duas condies envolvidas no teste forem verdadeiras or ou | | operador lgico
ou, retornando verdadeiro quando uma ou as duas condies envolvidas no
teste forem verdadeiras ! operador lgico no, invertendo o resultado de um
teste xor operador lgico ou exclusivo que determina se uma de duas
condies verdadeira mas no ambas. Se ambas forem verdadeiras, o teste
final ser falso.
<?php
$x = 6;
$y = 3;
$resultado = ($x < 10 && $y > 1);
if($resultado == 1)
{
echo "verdadeiro";
}
else
{
echo "falso";
}
echo "<br>";
$x = 6;
$y = 3;
$resultado = ($x == 5 || $y == 5);
if($resultado == 1)
{
echo "verdadeiro";
}
else
{
echo "falso";
}

14

echo "<br>";
$x = 6;
$y = 3;
$resultado = (!($x == $y));
if($resultado == 1)
{
echo "verdadeiro";
}
else
{
echo "falso";
}
?>

Estruturas de Controle
No PHP, as estruturas de controle so formadas por declaraes condicionais
e de looping:
if executa uma ao se uma condio for atendida. O bloco de comandos a
ser executado deve ser escrito entre chaves;
else pode-se colocar um conjunto de comandos alternativos caso o teste do if
seja negativo. A declarao else deve vir logo aps o bloco de cdigo
relacionado ao. O comando if tambm pode ser usado aps a declarao else
<body>
<?php
$x = 20;
if ($x > 10)
{
echo("O valor da varivel maior que 10.");
}
?>
</body>
Outro exemplo usando If e else
<body>

15

<?php
$cor = "branco";
if ($cor == "vermelho")
{
echo("A varivel contm o valor 'vermelho'.");
}
else if ($cor == "azul")
{
echo("A varivel contm o valor 'azul'.");
}
else if ($cor == "amarelo")
{
echo("A varivel contm o valor 'amarelo'.");
}
else
{
echo("O valor da varivel no foi identificado.");
}
?>
</body>

switch / case
Forma de testar uma dentre vrias possibilidades. A declarao default
executa caso nenhuma das opes for verdadeira. A declarao break faz com
que o restante do cdigo no seja executado caso o teste seja verdadeiro.
<body>
<?php
$d = getdate();
switch ($d['wday'])
{
case 5:
echo("Sexta-feira");
break;

16

case 6:
echo("Sbado");
break;
case 0:
echo("Domingo");
break;
default:
echo("Outro dia da semana");
}
?>
</body>

For
Estrutura de looping que executa um bloco de cdigo quantas vezes for
indicado em uma varivel. Deve-se definir a varivel que ser testada no
looping, uma condio de teste e o incremento (ou decremento) da varivel de
controle.
<body>
<?php
for ($i = 1; $i < 10; $i++)
{
echo("Linha $i <br>");
}
?>
</body>

While
Estrutura de looping que no necessita de um nmero determinado de
iteraes. Ele executado enquanto uma condio for verdadeira.
<body>
<?php
$i = 1;

17

while ($i < 10000)


{
echo($i);
$i *= 2;
echo(" vezes 2 igual a $i <br>");
}
?>
</body>

do-while
Outra forma de looping que executa um bloco de cdigo, testa uma condio e
repete novamente o bloco de cdigo (ou no).
<?php
$i = 1;
do
{
echo ("Linha $i <br>");
$i++;
}
while ($i < 10)
?>

Matrizes
Matrizes so variveis que armazenam mais de um valor simultaneamente.
Uma matriz no PHP atualmente um mapa ordenado. Um mapa um tipo que
relaciona valores para chaves. Este tipo otimizado de vrias maneiras, ento
voc pode us-lo como um array real, ou uma lista (vetor), hashtable (que
uma implementao de mapa), dicionrio, coleo, pilha, fila, etc.
As referncias aos elementos da matriz podem ser declaradas como valores
numricos ou strings
<body>
<?php
$colaboradores = array(0 => "Marcos",

18

1 => "Eduardo",
2 => "Maria",
3 => "Srgio",
4 => "Rosangela");
echo "<b>Colaboradores</b>";
echo "<ul>";
echo "<li>" . $colaboradores[0];
echo "<li>" . $colaboradores[1];
echo "<li>" . $colaboradores[3];
echo "<li>" . $colaboradores[2];
echo "<li>" . $colaboradores[4];
echo "</ul>";
?>
</body>

INCLUSO DE ARQUIVOS
O comando include permite a incluso de outros arquivos php dentro do script
que est sendo executado. Pode-se criar uma funo que imprime a data atual
e pode-se reus-lo sem precisar reescrever o cdigo cada vez que for
necessrio. No exemplo a seguir, pode-se chamar o primeiro script de
topo.php e o prximo script o inclui atravs do comando include.
Cdigo do arquivo topo.php.
<body>
<?php
$meses = array(1 => "Janeiro",
2 => "Fevereiro",
3 => "Maro",
4 => "Abril",
5 => "Maio",
6 => "Junho",
7 => "Julho",
8 => "Agosto",
9 => "Setembro",

19

10 => "Outubro",
11 => "Novembro",
12 => "Dezembro");
$hoje = getdate();
$dia = $hoje["mday"];
$mes = $hoje["mon"];
$nomeMes = $meses[$mes];
$ano = $hoje["year"];
echo "Hoje dia $dia de $nomeMes de $ano."
?>
</body>
Para chamar o arquivo topo.php, usamos o seguinte cdigo em um novo
arquivo php.
<body>
<?php
include("topo.php");
?>
</body>
Este recurso pode ser bem interessante, para facilitar a atualizao de setores
do seu site, pois podemos importar arquivos no formato texto como, por
exemplo, arquivos em TXT , apenas necessrio salv-lo no formato UTF-8,
para que o navegador consiga interpretar corretamente a acentuao.

20

Na chamada do Include coloque:


<?php
include("noticia.txt");
?>

Parmetros
O uso de parmetros facilita a programao porque permite a passagem de
dados entre o browser e o script ou entre scripts. A passagem de parmetros
entre o browser e o script feita dentro da URL, por exemplo, e manipulada
pela funo $_GET.
Nesse exemplo a seguir, cada um dos links envia um valor diferente para a
pgina que aberta parametros.php. Para enviar um parmetro, a sintaxe
inclui um sinal de interrogao, o nome da varivel, um sinal de igual e o valor
da varivel.
<body>
<?php
if (isset($_GET["valor"]))

21

{
$valor = $_GET["valor"];
echo "Voc clicou no valor $valor <p>";
}
else
{
echo "Clique em um dos valores:<p>";
}
?>
<a href="parametros.php?valor=1">Valor01</a><br>
<a href="parametros.php?valor=2">Valor02</a><br>
<a href="parametros.php?valor=3">Valor03</a><br>
<a href="parametros.php?valor=4">Valor04</a><br>
<a href="parametros.php?valor=5">Valor05</a><br>
</body>

FORMULRIOS
Os valores enviados atravs de um formulrio podem ser recuperados pela
varivel predefinida $_POST. Atravs dela possvel obter os dados que foram
enviados atravs do mtodo POST do HTML, bastando indicar o nome do
campo do formulrio. No comando action do formulrio, deve-se indicar a
pgina PHP que ir receber os valores. O mesmo documento pode conter o

22

cdigo e o formulrio
<body>
<?php
if (isset($_POST["pnome"]) && isset($_POST["snome"]))
{
$pnome = $_POST["pnome"];
$snome = $_POST["snome"];
echo "Ol $pnome $snome.<p>";
}
else
{
echo "Digite o seu nome.<p>";
}
?>
<form method="post" action="formulario.php">
Nome: <input type="text" name="pnome">
<br>
Sobrenome: <input type="text" name="snome">
<br><br>
<input type="submit" value="Enviar">
</form>
</body>

ENVIO DE E-MAILS
O PHP permite que se enviem e-mails de forma automatizada. Para isso, devese ajustar o arquivo de configurao (php.ini) para se indicar o servidor SMTP:
[mail function]
SMTP = localhost ;for win32 only
sendmail_from = me@localhost.com ;for win32 only
;sendmail_path = ;for unix only, may supply
arguments as well (default is 'sendmail -t -i')
A opo SMTP indica o endereo ou nmero IP do servidor SMTP. A opo
sendmail_from indica o endereo do remetente da mensagem. necessrio

23

reiniciar o servidor a cada modificao em algum arquivo de configurao.

importante se atentar como o seu servidor de hospedagem trata o


envio de mensagens por e-mail, atualmente comum os servidores atriburem
uma regra para estes envios, focando assim na segurana de seus servidores
e procurando tambm evitar a pratica de SPAM.
Abaixo um exemplo bsico de envio de e-mail via formulrio:
O formulrio de contato:
<tr>
<td ><p>Nome</p></td>
<td><input name="nome" type="text"size="30" /></td>
</tr>
<tr>
<td><p>E-mail</p></td>
<td><input name="email" type="text" /></td>
</tr>
<tr>
<td><p>Assunto</p></td>
<td><input name="assunto" type="text" /></td>
</tr>
<tr>
<td><p>Coment&aacute;rios</p></td>
<td><textarea name="mensagem" cols="29" rows="5"></textarea></td>
</tr>
<tr>
<td><input name="enviar" type="submit" value="Enviar" />
<input name="limpar" type="reset" value="Limpar" /></td>
</tr>

O arquivo PHP que processa a informao e faz o envio:


<? php
//Recebendo os dados do formulrio.

24

$nome = $_POST["nome"];
$email = $_POST["email"];
$assunto = $_POST["assunto"];
$mensagem=$_POST["mensagem"];
//Setando o restante das variveis para o disparo do email
$destinatario = "seuemail@provedor.com";
$formato = "\nContent-type: text/html\n";
//Incluindo os campos nome e email no corpo da mensagem.
$msg = "- Nome: ".$nome."<br>- Assunto: ".$assunto."<br>- Mensagem:
".$mensagem;
//Enviando o email
mail("$destinatario","$assunto","$msg","from: ".$email.$formato);
//Criando a mensagem de confirmao de envio de email.
echo "<div align=center>Mensagem enviada com sucesso! Aguarde um
retorno.

Clique

<a

href='index.php'>

<b>aqui</b>

</a>

para

retornar.</div>";
?>

BANCOS DE DADOS
O ponto de partida para a criao de um banco de dados o registro. Um
registro uma coleo de dados relacionados tratada como uma entidade
nica. Por exemplo: a ficha de funcionrio pode ser chamada de um registro:
ela contm o nome, fotografia, funo, salrio, etc. Empregando a terminologia
de banco de dados, cada um desses itens relacionados seria chamado de
campo: cada "registro" de ficha do funcionrio contm um campo de nome, um
campo de fotografia, um campo de funo etc.
Uma coleo de registros que compartilham os mesmos campos chamada de
tabela, porque esses tipos de informaes podem ser facilmente apresentados
no formato de tabela: cada coluna representa um campo e cada linha
representa um registro. Na verdade, a palavra coluna sinnima de campo e
linha sinnima de registro.
Um banco de dados pode conter mais de uma tabela, cada uma delas com um
nome exclusivo. Essas tabelas podem ser relacionadas ou independentes.

25

Um conjunto de registros um subconjunto de registros extrados de uma ou


mais tabelas de um banco de dados. Um conjunto de registros tambm uma
tabela, por ser uma coleo de registros que compartilham as mesmas
colunas.
Para criar um conjunto de registros, necessrio fazer uma consulta ao banco
de dados. Um consulta consiste em um critrio de pesquisa.

Introduo ao MySQL
O MySQL o gerenciador de banco de dados mais usado com o PHP. Existem
muitas funes pr-definidas para manipulao de conexes com bancos de
dados.
A funo mysql_connect tenta uma conexo com um servidor MySQL. Devese passar como parmetros: o nome do servidor (ou nmero IP) onde o MySQL
est sendo executado, o nome de usurio e a senha deste usurio. O comando
alternativo die trata um possvel fracasso na conexo.
A funo mysql_selectdb seleciona qual base ser selecionada dentro do
banco de dados que foi conectado. O comando alternativo die trata um possvel
fracasso na seleo da base, podendo ser includa uma mensagem
customizada.
A funo mysql_query faz consultas base previamente selecionada. Devese passar, como parmetros, os comandos SQL apropriados. Novamente, o
comando alternativo die pode tratar um no sucesso na consulta.
<body>
<?php
$link = mysql_connect("localhost", "root", "")
or die("No foi possvel conectar");
mysql_select_db("curso")
or die("No foi possvel selecionar o banco de dados");
$consulta = "SELECT * FROM Modulos";
$resultado = mysql_query($consulta)
or die("Falha na execuo da consulta");
echo "Consulta executada com sucesso";
?>

26

</body>

No exemplo como estamos usando o WAMP, o usurio root e a senha


vazia, ao enviar para um servidor, necessrio preencher com os dados
corretos.

Embora seja possvel criar os Bancos de Dados, tabelas, etc. diretamente pelo
cdigo, este processo se torna mais fcil de forma visual, utilizando, por
exemplo, o PHPMyAdmin.
Pelo gerenciador do WAMP, selecione phpMyAdmin.

Caso

ele

no

abra

pgina

correta

mude

para:

http://localhost/phpmyadmin/,caso voc tenha precisado mudar a porta de


acesso.

27

Vamos criar o banco de dados e a tabela que tentamos conectar no exemplo


acima.

Clique em Criar
Ser criado o Banco porm sem nenhuma tabela.
Na janela que voc havia feito para se logar ao banco de dados, pressione F5
e veja que agora ele mostra a mensagem de falha na consulta, pois temos o
Banco de dados.

28

A barra de navegao do phpMyAdmin oferece diversos recursos para voc


administrar seu banco de dados e/ou tabela.
Explicando-a:
Estrutura: Exibe a relao das tabelas contidas no banco de dados, uma
breve estatsticas de cada uma e diversas opes para administr-las.
SQL: Exibe um painel para voc executar instrues SQL no seu banco
de dados e/ou tabela.
Procurar: Um painel para voc realizar uma busca e encontrar
determinado registro em sua tabela.
Exportar: Exportar os dados do seu banco de dados e/ou tabela em
diversos formato como: SQL, Latex, Microsoft Excel 2000, Microsoft
Word 2000, CSV for MS Excel, CSV e XML. Voc pode exportar a
estrutura somente e/ou os dados.
Importar: Inserir dados na tabela.
Operaes: Permite-lhe administrar sua tabela com diversas opes
como: renomear, mover ou copiar para outro banco de dados, inserir
comentrios, modificar o tipo da tabela, reparar, otimizar e diversos
outros recursos.
Eliminar: Deleta o banco de dados e/ou tabela.
Como apenas um exemplo, vamos determinar que nosso banco de dados
curso tenha a tabela Modulos e dentro desta tabela os campos ID, NOME,
DESCRICAO E CATEGORIA.
No phpMyAdmin, defina o nome da tabela e quantidade de campos.

29

Preencha os campos de cabealho de sua tabela.

Para o campo ID, vamos deix-lo como Auto Incremento e com atributo de
chave primria.

30

D um refresh em sua pgina de conexo e veja que agora ele apresenta


sucesso.

Na pgina do PHP MyAdmin, adicione algumas informaes, para isso clique


no boto Inserir.

31

No final da pgina clique em Executar.


Clique na barra no boto visualizar para ver os registros dentro do Banco.

Exibio
Para que os registros da consulta sejam exibidos, deve-se usar a funo
mysql_fetch_assoc, que retorna uma matriz com a linha atual e move para a
prxima. Para se imprimir todos os resultados de uma query, necessria a
construo de uma estrutura de repetio (while) at que a funo
mysql_fetch_assoc no retorne nenhum valor (vazio).
Para melhorar a apresentao dos resultados, possvel usar tags HTML que
incluam os dados dentro de tabelas, por exemplo.
<body>
<?php
$link = mysql_connect("localhost", "root", "")
or die("No foi possvel conectar");
mysql_select_db("curso")
or die("No foi possvel selecionar o banco de dados");
$consulta = "SELECT * FROM modulos";
$resultado = mysql_query($consulta)
or die("Falha na execuo da consulta");

$linha = mysql_fetch_assoc($resultado);
$Nome = $linha["NOME"];
$Categoria = $linha["CATEGORIA"];
echo "<b>Nome do Mdulo:</b> $Nome<br>";

32

echo "<b>Categoria:</b> $Categoria";


?>
</body>

ENTENDENDO UM POUCO SOBRE SQL


Para um melhor aproveitamento do curso, vamos entender um pouco sobre o
SQL
A instruo SQL mais comumente utilizada para criar um conjunto de registros
SELECT, que extrai determinadas colunas de uma ou mais tabelas de
bancos de dados para criar um conjunto de registros. A sintaxe bsica da
instruo SELECT apresentada abaixo:
SELECT NomeDaColuna FROM NomeDaTabela
possvel adicionar quebras de linha, guias e outros tipos de espao em
branco s instrues para tornar clara a lgica: O SQL ignora todos os tipos de
espao em branco. Por exemplo: a seguinte instruo vlida:
SELECT nome
FROM modulos
Abaixo tabela com as palavras-chave mais utilizados pelos comandos SQL
SELECT

Recupera os registros especificados no banco de dados.

INSERT

Inclui um novo registro em uma tabela de banco de dados.

UPDATE

Altera os valores nos registros de banco de dados especificados.

DELETE

Remove os registros de banco de dados especificados.

As seguintes palavras-chave so utilizadas para refinar as instrues SQL:


FROM

Denomina a fonte de dados de uma operao.

33

WHERE

Define uma ou mais condies para a operao.

ORDER BY Classifica as linhas de conjuntos de registros em uma


determinada ordem.
GROUP BY Agrupa o conjunto de registros pelos itens especificados,
selecionados em uma lista.

Os seguintes operadores especificam condies e executam funes


numricas e lgicas:
Operador
=

Significado

Igual a

LIKE Como (caracteres curingas so aceitos)


<>

Diferente de

NOT LIKE

No igual a (curingas so aceitos)

<

Menor que

>

Maior que

<=

Menor ou igual a

>=

Maior ou igual a

AND Ambas as condies devem ser atendidas, como Minas Gerais AND
Bahia
OR

Pelo menos uma das condies deve ser atendida, como Matos OR

Mattos
NOT Exclui a condio seguinte, como Paris NOT Frana

Se o item que estiver sendo comparado for texto, coloque-o entre aspas
simples, como no exemplo a seguir:
WHERE pais = 'Brasil'

O SQL pode ser utilizado para definir os conjuntos de registros de uma pgina.
Um conjunto de registros um subconjunto extrado de um banco de dados.
Esta a sintaxe SQL bsica para definir as colunas de um conjunto de
registros:
SELECT NomeDaColuna, NomeDaColuna2, NomeDaColuna3 FROM modulos

34

Para incluir todas as colunas de uma tabela no conjunto de registros, utilize o


caractere curinga (*) da seguinte forma:
SELECT * FROM NomeDaTabela

Por exemplo: suponha que voc esteja trabalhando com uma tabela
denominada funcionrios. Para extrair todas as colunas, digite a seguinte
instruo SELECT:
SELECT * FROM funcionarios

Suponha que voc necessite apenas dos dados contidos em duas colunas da
tabela funcionarios: nas colunas nome e cargo. Para criar um conjunto de
registros que contenha apenas os dados destas duas colunas, digite a seguinte
instruo SELECT:
SELECT nome, cargo
FROM funcionrios

Utilize uma clusula WHERE para limitar o nmero de registros no conjunto de


registros. Por exemplo: apenas os funcionarios que ganham mais de R$ 2mil
mensais sero includos. Suponha que uma coluna da tabela denominada
salrio informa os rendimentos de cada funcionrio. A instruo SELECT teria
a seguinte aparncia:
SELECT nome, salario FROM funcionarios WHERE salario > 2000

possvel filtrar registros em um banco de dados com base na igualdade do


valor de um parmetro em relao ao valor de uma coluna de registros.
Suponha que voc decidiu permitir que os usurios pesquisassem o banco de
dados por quantidade de cursos de atualizao de cada funcionrio. Siga a
lgica a seguir para criar o conjunto de registros resultante da busca:

1. Verifique um registro na tabela do banco de dados.


2. Se o valor na coluna "quantidade_cursos" do registro for igual a

35

quantidade enviada pelo usurio, inclua esse registro no conjunto de


registros resultante da busca.
3. Verifique o prximo registro da tabela.

A lgica pode ser expressa com a seguinte clusula WHERE:


WHERE NomeDaColuna = ValorDoParamentro
ValorDoParametro uma varivel SQL que contm um parmetro de busca.
Em um aplicativo para a Web, o usurio normalmente fornece esse parmetro
utilizando um formulrio HTML.

Esta consulta ao banco de dados poderia ser expressa inteiramente na


linguagem SQL, da seguinte forma:
SELECT

nome

FROM

funcionarios

WHERE

quantidade_cursos

'NomeDaVariavel'

A instruo SQL localiza todos os registros na tabela de funcionarios que


contenham a quantidade de cursos igual quela encontrada na varivel
especificada. Por exemplo: se o usurio especificar a quantidade de
certificados como 4, a instruo SQL dever gerar o seguinte conjunto de
registros:

Marcos

Maria

Ronaldo

Beth

possvel filtrar registros em um banco de dados com base na semelhana do


valor de um parmetro em relao ao valor de uma coluna de registros.
A utilizao da semelhana em vez da igualdade permite aos usurios uma
maior flexibilidade ao especificar o valor desses parmetros. Por exemplo: as
palavras da busca no necessitam distinguir maisculas de minsculas. Se o
usurio digitar "curitiba" e a coluna da tabela contiver o valor "Curitiba", a

36

correspondncia ser estabelecida.


Alm disso, a semelhana possibilita o uso de caracteres curinga para que os
usurios possam fazer buscas de partes de palavras e tambm em ordem
alfabtica. Por exemplo: se o usurio digitar "m" e a coluna da tabela contiver
os valores "Cuiab", "Curitiba" e "Curitibanos", ser possvel utilizar um
caractere curinga na instruo SQL para que as trs correspondncias sejam
estabelecidas.

O caractere curinga padro o sinal de percentagem (%):


WHERE sobrenome LIKE 'Mc%'

Suponha que voc decidiu permitir que os usurios pesquisem o banco de


dados por sobrenome. Siga a lgica a seguir para criar o conjunto de registros
resultante da busca:

1. Verifique um registro na tabela do banco de dados.


2. Se o valor na coluna "sobrenome" do registro contiver um valor
semelhante ao que o usurio enviou, inclua esse registro no conjunto de
registros resultante da busca.
3. Verifique o prximo registro da tabela.

A lgica pode ser expressa com a seguinte clusula WHERE:


WHERE NomeDaColuna LIKE ValorDoParametro

ValorDoParametro uma varivel SQL que contm um parmetro de busca.


Em um aplicativo para a Web, o usurio normalmente fornece esse parmetro
utilizando um formulrio HTML.

Esta consulta ao banco de dados poderia ser expressa inteiramente na


linguagem SQL, da seguinte forma:
SELECT nome, sobrenome, idade, cursos
FROM funcionarios WHERE sobrenome LIKE 'NomeDaVariavel'

37

Para que os usurios possam executar buscas utilizando partes de palavras,


combine a varivel com um caractere curinga. O caractere curinga da SQL
utilizado nesse caso o sinal de percentagem (%). Por exemplo:
WHERE sobrenome LIKE 'NomeDaVariavel%'

Por exemplo: se o usurio digitar o parmetro de busca "s", todos os registros


contendo sobrenomes iniciados com a letra "f" sero includos no conjunto de
registros, conforme mostrado abaixo:

Marcos

Furlan

04

Maria

Furlan

04

Ronaldo

Franca

02

Os registros de um banco de dados podem ser filtrados estabelecendo-se que


um valor da coluna de registros pertena a uma faixa limitada por dois valores
de parmetros.
Suponha que voc decidiu permitir que os usurios pesquisassem o banco de
dados por uma faixa de datas. Siga a lgica a seguir para criar o conjunto de
registros resultante da busca:

1. Verifique um registro na tabela do banco de dados.


2. Se o valor na coluna "data" do registro se encontrar entre dois valores de
data enviados pelo usurio, inclua esse registro no conjunto de registros
resultante da busca.
3. Verifique o prximo registro da tabela.

A lgica pode ser expressa com a seguinte clusula WHERE:


WHERE

NomeDaColuna

BETWEEN

ValorDoParamentro

AND

ValorDoParamentro2

ValorDoParametro e ValorDoParamentro2 so variveis SQL que contm um


parmetro de busca. Em um aplicativo para a Web, o usurio normalmente

38

fornece esse parmetro utilizando um formulrio HTML.

Esta a maneira de expressar em SQL esse tipo de consulta ao banco de


dados:
SELECT nome, sobrenome, data_nascimento
FROM funcionarios
WHERE

data_nascimento

BETWEEN

'NomeDaVariavel'

AND

'NomeDaVariavel2'

Por exemplo: se o usurio digitar os parmetros "01/05/66" e "30/06/1995",


todos os funcionrios que nasceram a partir "01/05/66" at 30/06/1995" sero
includos no conjunto de registros, como mostrado abaixo:
Marcos

Furlan

30/04/73

Beth

Oliveira

12/05/1992

Esta seo descreve como incluir registros no conjunto de registros resultante


da busca com base em uma combinao de condies de busca. Combine as
condies na linguagem SQL utilizando os operadores lgicos AND, OR e
NOT.

Se desejar que todas as condies sejam verdadeiras (true) para um registro


includo no conjunto de registros, utilize o operador AND da seguinte forma:
WHERE gols LIKE 'NomeDaVariavel' AND time LIKE 'NomeDaVariavel2'

Se desejar que qualquer uma das condies seja verdadeira (true) para um
registro no conjunto de registros, utilize o operador OR da seguinte forma:
WHERE gols LIKE 'NomeDaVariavel' OR time LIKE 'NomeDaVariavel2'

Se desejar que uma condio seja verdadeira (true), mas no outra, utilize o
operador NOT da seguinte forma:
WHERE gols LIKE 'NomeDaVariavel' AND NOT time LIKE 'NomeDaVariavel2'

39

Utilize os parnteses para agrupar as condies de busca:


WHERE (nome LIKE 'NomeDaVariavel' AND time = 'NomeDaVariavel2')
OR data_nascimento BETWEEN 'NomeDaVariavel3' AND 'NomeDaVariavel4'

Utilize a clusula ORDER BY para ordenar os registros do conjunto de


registros. Por exemplo: suponha que deseja ordenar os registros do conjunto
de registros de acordo com a renda do funcionrio, da mais baixa para a mais
alta. No SQL, ordene os registros da seguinte forma:
SELECT nome, sobrenome, salario FROM funcionarios
ORDER BY salario

Como padro, a clusula ORDER BY ordena os registros na ordem


ascendente (1, 2, 3... ou A, B, C...). Se desejar classific-los na ordem
descendente, da renda mais alta para a mais baixa, utilize a palavra-chave
DESC da seguinte forma:
ORDER BY salario DESC
Unindo Tabelas
possvel utilizar uma nica instruo SELECT para recuperar dados de uma
ou mais tabelas de um banco de dados. Esta instruo une as tabelas e retorna
um nico conjunto de registros que contm dados selecionados em cada
tabela.

Por exemplo: um determinado banco de dados contm uma tabela com os


dados pessoais dos funcionarios e outra tabela contm os convnios que a
empresa possui. Para criar um catlogo de jogadores com os respectivos
nomes, sobrenomes e quando estes foram artilheiro, necessrio recuperar
informaes das duas tabelas simultaneamente.

Para isso, crie uma unio especificando todas as tabelas a serem includas e
como se relacionam. Por exemplo:
SELECT nome, sobrenome, convenios, data_nascimento_convenio
FROM funcionarios, convenios

40

WHERE funcionarios.funcionarios_id = convenios.convenios_id

A primeira linha especifica as colunas a serem recuperadas. As duas primeiras


colunas, nome, sobrenome, constam na tabela funcionarios, enquanto que a
quarta, data_nascimento_convenio est contida apenas na tabela convenio.

A segunda linha especifica as duas tabelas das quais os dados sero


recuperados, funcionarios e convenios.

A ltima linha especifica os registros a serem unidos e recuperados nas duas


tabelas. Cada tabela contm uma coluna com dados nicos e exclusivos de
cada jogador como: funcionario_id (na tabela funcionario, esta coluna a
chave primria). A clusula WHERE compara o valor de funcionario_id de uma
tabela com esse mesmo valor em outra tabela. Quando uma correspondncia
for encontrada, todos os campos do registro na tabela funcionarios sero
unidos a todos os campos do registro na tabela convenios.
A utilizao de uma sintaxe de unio um pouco diferente poder ser mais
conveniente em alguns sistemas de banco de dados. Por exemplo: a seguinte
instruo SQL utiliza as palavras-chave SQL INNER JOIN...ON para obter os
mesmos resultados que o exemplo anterior:
SELECT nome, sobrenome, convenios, data_nascimento_convenio
FROM funcionarios INNER JOIN convenios
ON funcionarios.funcionarios_id = convenios.convenios_id

CONECTANDO AO BANCO DE DADOS PELO


DREAMWEAVER
Para que isto seja possvel preciso inicialmente que o Dreamweaver, trabalhe
com tecnologia servidor.
Crie uma pasta em seu servidor para que possamos ligar o Dreamweaver a
ela.

41

Clique em Dreamweaver site

Preencha os dados com o nome de seu site e pasta de origem.

42

43

44

45

46

Clique no menu Window e chame o painel Server Behaviors.

Clique na Guia DataBases, depois clique na opo MySQL Connection

47

Configure a conexo da seguinte forma:

Clique no boto select para selecionar o banco de dados

Clique em Test

Observe agora o painel DataBases

48

Voc pode observar tambm que o Dreamweaver cria uma pasta chamada
Connections e dentro desta pasta ele vai criar um arquivo de configurao com
a nossa conexo.

SISTEMA DE CADASTRO SIMPLES


Vamos criar um sistema de cadastro simples com auxilio do Dreamweaver.
Crie uma pasta chamada cadastro dentro da pasta PHP.

Vamos criar um novo site direcionando para esta pasta.

Na primeira tela coloque

49

Clique em Next

50

51

52

53

Clique no boto Test URL

Criando o banco de dados no phpMyAdmin


Abra o phpMyAdmin para configurarmos o nosso Banco de Dados de cadastro.

54

Vamos criar um novo banco de dados chamado cadastro.

55

Precisamos agora criar a tabela de cadastro em nosso Banco de Dados, vou


cham-la tambm de cadastro com 3 campos.

Clique em Executar.
Vamos inserir os seguintes campos:
1. cad_id responsvel pela identificao individual de cada cadastro
2. cad_nome responsvel pelo armazenamento do nome do cadastrado
3. cad_email responsvel pelo armazenamento do e-mail do cadastrado
Colocamos o tipo (Type) de dados para o campo cad_id, smallint com 5
caracteres. Isto significa que nosso sistema pode comportar mais de 65.000
cadastros. Quando selecionamos o atributo (Atributtes) UNSIGNED, estamos
garantindo que a numerao gerada ser a partir do zero e no incluir

56

nmeros negativos. Em Extra, ao marcarmos a opo auto_increment


(auto_incremento), estamos definindo que o banco de dados gerar
automaticamente, uma sequncia de nmeros para cada cadastro. E por fim,
selecionamos a opo Primary Key (Chave primria). Esta ao garante a
identificao nica e exclusiva em cada linha da tabela.
E quanto ao VARCHAR selecionado para os outros dois campos da tabela,
significa que podemos inserir at 255 caracteres. Porm, delimitamos para 100
ao nome e 75, ao e-mail.

Clique em salvar.

Criando a conexo do Banco de Dados com o Dreamweaver


Para trabalharmos com dados no Dreamweaver usaremos praticamente trs
painis: DataBases, Bindings e Server Behaviors.
Clique em DataBases e clique no sinal de mais (+) e escolha MySQL
Connection.

57

necessrio preencher os dados na prxima tela

Como estamos testando localmente o User name root e a senha em branco,


ao testar em seu servidor preciso usar as configuraes que o mesmo te
forneceu.
Clique em Select para selecionarmos a base de dados a qual vamos nos
conectar.

Clique em Test para verificar se a conexo foi efetuada com sucesso.

58

Clique em Ok e depois novamente em OK, observe que foi criada uma pasta
chamada Connections em seu projeto, abra esta pasta e abra este arquivo,
observe que ele criou toda a estrutura php para conectar-se ao seu Banco de
Dados.

Observe tambm no painel Databases a estrutura com a tabela criada.

Criando o formulrio de cadastro no Banco de Dados


Crie uma pgina nova PHP e salve-a como index.php.
Vamos agora criar o formulrio de cadastro.

59

Existe um recurso no Dreamweaver chamado Record Insertion Form Wizard


e, atravs dele, de uma s vez, criaremos o formulrio e os cdigos PHP.
Acessemos ento no painel Insert, aba Data, a opo Insert record > Record
Insertion Form Wizard.

Na tela que vai aparecer, vamos remover do formulrio o campo ID, pois ele
criado automaticamente.

No campo After inserting, go to coloque cad_realizado.php.


Mude tambm os Labels dos campos para Nome e E-mail.

60

Clique em OK.
Seu formulrio ser criado.

Se quiser pode configurar seu formulrio, como, por exemplo, mudar cores,
mudar texto do boto, etc.
Precisamos agora criar a pgina de confirmao a pgina cad_realizado.php,
Crie um novo arquivo PHP e salve-o com este nome.
Adicione um link chamado cadastros e direcione para uma pgina chamada
cadastros.php, crie tambm esta pgina.
Clique no painel Bindings e escolha RecordSet (Query).

61

D um nome ao seu Recordset.

Clique em OK.

62

Crie neste arquivo uma tabela com 2 linhas e 3 colunas, com largura de 700 px:

Formate-a como for necessrio.

necessrio agora adicionarmos os Recordsets para cada campo na tabela.

63

Para podermos visualizar todos os campos de nosso banco de dados,


selecione a linha inteira onde esto os recordsets, depois na ABA Data clique
em Repeat Region.

Defina a quantidade de dados a serem mostrados por tela.

Aqui se deve ter um cuidado, mesmo selecionando a linha, o


Dreamweaver pode se perder e ao testar sua repetio, ele, adicionar os dados
ao lado e no abaixo.

64

Caso isso ocorra abra o cdigo de seu formulrio e mude as linhas do looping
para pegar toda a linha.

Edio dos dados cadastrados


Vamos criar um novo arquivo PHP com o nome de cad_edicao.php.
Atravs do painel Bindings vamos criar um novo Recordset.
Defina o campo Filter como cad_id.

65

Clique em Test.

Clique em OK, para verificar o resultado do teste.

66

Clique em OK
E vamos criar o formulrio de edio.
Clique em Data, Update Record, Record Update Form Wizard.

Configure o seu Record Update.

67

Crie o arquivo res_edicao.php e adicione nele.

Na pagina cadastros.php, insira uma nova coluna, nesta nova coluna adicione
uma imagem.

68

Como link nesta imagem adicione:


cad_edicao.php?cad_id=<?php echo $row_rel_cadastros['cad_id']; ?>">

Excluso de Registro
Crie mais uma coluna ao lado de editar na tabela que existe em cadastro.php e
adicione uma imagem para excluso.

69

Em seguida, com a imagem selecionada, coloquemos o link da pgina


responsvel pela excluso: excluir.php e em seguida, cliquemos na pastinha
ao lado do campo link para fazermos a incluso das instrues do registro.

Na primeira coluna (name), coloquemos a palavra cad_id e na segunda (coluna


value), cliquemos no raio para abrir uma nova janela, Dynamic Data e
selecionemos o campo cad_id.

70

Clique em Ok, e OK novamente.

Aqui tambm ocorre do Dreamweaver se perder na hora de criar o


cdigo, verifique se a linha esta da seguinte forma:
<td

align="center"><a

$row_rel_cadastros['cad_id'];

href="excluir.php?cad_id=<?php
?>"><img

src="excluir.jpg"

echo

alt="Excluir"

width="34" height="31" border="0" onclick="return confirm('Deseja excluir este


cadastro?');" /></a></td>

71

Como se trata de uma ao destrutiva, ou seja, que no h como voltar,


conveniente pedir ao usurio que confirme sua atitude de excluir ou no. E esta
confirmao faremos utilizando Javascript. Com a imagem selecionada, acesse
o menu Modify > Edit TAG, categoria Events > onClick e digitemos a
mensagem conforme imagem:

72

Mensagem: return confirm('Deseja excluir este cadastro?');

Esta pendente ainda a pgina excluir.php, para ela vamos proceder da


seguinte forma.
Crie uma nova pgina PHP.
Clique no painel Server Behaviors. Clique no sinal de mais (+) e escolha
Delete Record.

73

Configure da seguinte forma

Salve a pgina como excluir.php.


Visualize o cdigo da pgina.
Localize a linha: $deleteGoTo = "cadastros.php";

Adicione aps o nome do arquivo:


$deleteGoTo = "cadastros.php?excluido=sucesso";

74

Agora na pgina cadastros.php e adicione um pargrafo abaixo de sua tabela


e mude para a visualizao de cdigo, adicione o seguinte cdigo:
<?php
if ((isset($_GET['excluido'])) && ($_GET['excluido']=="sucesso")) {
echo "<p><i>Cadastro excludo com sucesso!</i>";
}
?>

Salve todos seus arquivos e teste o sistema de cadastro.

75

Com isso finalizamos um primeiro exemplo, apenas como observao a ideia


aqui foi mostrar a parte lgica de com funciona, por isso abrimos mo da parte
de design.
Com este exemplo finalizamos nosso estudo em PHP, existem inmeros tipos
de aplicao que podemos fazer com o PHP.

76

Você também pode gostar