apostila php mysql

90

Upload: igor-schmidt

Post on 24-Jun-2015

1.312 views

Category:

Documents


24 download

DESCRIPTION

Uploaded from Google Docs

TRANSCRIPT

Page 1: Apostila PHP MySql
Page 2: Apostila PHP MySql

ESTA OBRA PODE SER REPRODUZIDA E DISTRIBUÍDA

PARCIAL OU INTEGRALMENTE DESDE QUE CITADA A FONTE.

VENDA PROIBIDA

CID – COORDENADORIA DE INCLUSÃO DIGITAL

IDORT – INSTITUTO DE ORGANIZAÇÃO RACIONAL DO TRABALHO

EQUIPE CAPACITAÇÃO – ÁREA TÉCNICA

DOUGLAS DINIZ ALVES

DANIEL PEREIRA MARTINS

PAULO JORDÃO DA SILVA BOCCATTO

site: www.telecentros.sp.gov.br

email: [email protected]

Page 3: Apostila PHP MySql

Indice

Objetivo .............................................................................. 01

Justificativa ......................................................................... 01

Lógica de Programação ......................................................... 03

Seqüência Lógica ................................................................. 03

Exercícios – Lógica ............................................................... 04

PHP – História ...................................................................... 05

O que é PHP? ....................................................................... 06

Em que consiste uma página dinâmica? ................................... 07

Comunicação Cliente x Servidor ............................................. 07

Delimitando o código PHP ...................................................... 08

Exercício 01 ......................................................................... 09

Comentários no PHP ............................................................. 09

Exercício 02 ......................................................................... 10

Variáveis ............................................................................. 11

Exercício 03 ......................................................................... 11

Tipos de Dados Suportados .................................................... 12

Integer (Inteiro) ................................................................... 12

Double (Dupla Precisão) ........................................................ 13

Strings ................................................................................ 13

Exercício 04 ......................................................................... 13

Exercício 05 ......................................................................... 14

Booleano ............................................................................. 14

Array .................................................................................. 14

Objeto ................................................................................ 14

Caracteres de Escape ............................................................ 14

Page 4: Apostila PHP MySql

Exercício 06 ......................................................................... 15

Operadores ......................................................................... 16

Aritméticos .......................................................................... 16

String ................................................................................. 16

Exercício 07 ......................................................................... 16

Atribuição ............................................................................ 17

Exercício 08 ......................................................................... 17

Incrementação ..................................................................... 18

Lógicos ............................................................................... 19

Comparação ........................................................................ 19

Integrando o PHP ao HTML .................................................... 20

Métodos GET e POST ............................................................ 20

Exercício 09 ......................................................................... 21

Estruturas de Controle .......................................................... 21

If ....................................................................................... 21

Exercício 10 ......................................................................... 22

Else .................................................................................... 22

Exercício 11 ......................................................................... 22

Elseif .................................................................................. 23

Exercício 12 ......................................................................... 23

Laços .................................................................................. 24

While .................................................................................. 24

Exercício 13 ......................................................................... 24

For ..................................................................................... 25

Exercício 14 ......................................................................... 25

Include ............................................................................... 25

Exercício 15 ......................................................................... 26

Page 5: Apostila PHP MySql

Array .................................................................................. 27

Exercício 16 ......................................................................... 27

Listas ................................................................................. 27

Exercício 17 ......................................................................... 28

MySql – Banco de Dados ....................................................... 29

Popularização dos Banco de Dados ......................................... 29

O que é um Sistema de Gerenciamento de Banco de Dados? ...... 31

PHP MyAdmin ...................................................................... 33

MySql ................................................................................. 33

Como utilizar o SQL para manipular os bancos de dados MySQL . 35

Comandos SQL .................................................................... 36

Comando SHOW ................................................................... 36

Comando USE ...................................................................... 36

Comando CREATE ................................................................. 36

Comando INSERT ................................................................. 38

Comando SELECT ................................................................. 39

Comando DESCRIBE ............................................................. 40

Comando DROP .................................................................... 41

Comando DELETE ................................................................. 41

Comando UPDATE ................................................................ 42

Roteiro – Criação de B.D. ...................................................... 43

Estabelecendo conexões entre PHP e MySql ............................. 44

Selecionando a base de dados ................................................ 45

Realizando consultas ............................................................. 46

Apagando resultados ............................................................ 46

Número de linhas ................................................................. 47

Utilizando os resultados ......................................................... 47

Page 6: Apostila PHP MySql

CRUD ................................................................................. 48

Projeto ................................................................................ 54

Respostas dos exercícios de lógica .......................................... 78

Plano de aula ....................................................................... 79

Bibliografia .......................................................................... 84

Page 7: Apostila PHP MySql

PHP & MySql 1

Objetivo

Capacitar os colaboradores dos Telecentros com o objetivo de

criarem programas voltados à web para manipulação de páginas HTML,

como também desenvolvimento de raciocínio lógico e noções de

gerenciamento de banco de dados relacional.

Page 8: Apostila PHP MySql

PHP & MySql 2

Justificativa

Atualmente, com o avanço tecnológico, necessitamos cada vez

mais da automatização de sistemas para facilitarmos e agilizarmos

serviços, principalmente no que diz respeito à internet. Com o curso de

PHP & MySql poderemos integrar a linguagem de programação com o

acesso online onde será possível um ótimo controle das informações

através de banco de dados.

Page 9: Apostila PHP MySql

PHP & MySql 3

Lógica de Programação

O estudo da lógica é o estudo dos métodos e princípios usados

para distinguir o raciocínio correto do incorreto. Esta definição não quer

dizer que somente uma pessoa que tenha estudado lógica possa

raciocinar corretamente e encontrar soluções para diversos problemas.

A habilidade de resolver problemas é natural em todo ser humano.

Uma parte do estudo da lógica consiste no exame e na análise

dos métodos incorretos do raciocínio (falácias), isto nos dá uma visão

mais profunda dos princípios do raciocínio em geral e nos auxilia

também a evitá-los. Por último, proporciona ao estudante certas

técnicas e métodos de fácil aplicação para determinar a correção ou

incorreção de todos os raciocínios. O valor deste conhecimento reside

no fato de ser menor a possibilidade de se cometer erros, quando é

possível localizá-los mais facilmente.

Lógica vem de “logos” que significa palavra, expressão,

conceito, pensamento, discurso, razão.

Seqüência Lógica

Estes pensamentos podem ser descritos como uma seqüência

de instruções que devem ser seguidas para cumprir uma determinada

tarefa, portanto, seqüência lógica são passos executados até atingir um

objetivo ou solução de um problema.

Page 10: Apostila PHP MySql

PHP & MySql 4

Exercícios - Lógica

1) Quantos retângulos existem na figura abaixo:

2. Uma lesma está num poço de 30m de profundidade. A cada dia

ela sobe 3m e escorrega 2m. Em quantos dias sairá do poço?

3) O PRISIONEIRO

No antigo Egito, havia um prisioneiro em uma cela com duas

saídas, cada uma delas com um guarda. Cada saída dava para um

corredor diferente em que um dava para o campo e, portanto, para a

liberdade e o outro para um fosso de crocodilos. Só os guardas sabiam

qual a saída certa, mas um deles dizia sempre a verdade e outro

mentia sempre. O prisioneiro não sabia nem qual a saída certa nem

qual o guarda verdadeiro. Qual a pergunta (e uma só pergunta) que o

prisioneiro deveria fazer a um dos guardas ao acaso, para saber qual a

porta certa?

4) Una estes quatro pontos apenas com três retas, sem levantar a

ponta do lápis ou da caneta e acabando no ponto onde

começou.

Page 11: Apostila PHP MySql

PHP & MySql 5

PHP - História

A linguagem de programação PHP foi criada no outono de 1994

por Rasmus Lerford. No início era formada por um conjunto de scripts

voltados à criação de páginas dinâmicas que Rasmus utilizava para

monitorar o acesso ao seu currículo na internet. À medida que essa

ferramenta foi crescendo em funcionalidades, Rasmus teve de escrever

uma implementação em C, a qual permitia às pessoas desenvolverem

de forma muito simples as suas aplicações para web. Rasmus nomeou

essa versão de PHP/FI (Personal Home Page / Forms Intepreter) e

decidiu disponibilizar seu código na web, em 1995, para compartilhar

com outras pessoas, bem como receber ajuda e correção de bugs.

Em novembro de 1997 foi lançada a segunda versão do PHP.

Naquele momento, aproximadamente 50 mil domínios ou 1% da

internet já utilizava PHP. No mesmo ano Andi Gutmans e Zeev Suraski,

dois estudante que utilizavam PHP em um projeto acadêmico de

comércio eletrônico, resolveram cooperar com Rasmus para aprimorar

o PHP. Para tanto, reescreveram todo o código-fonte, com base no

PHP/FI 2, dando início ao PHP 3, disponibilizando oficialmente em junho

de 1998. Dentre as principais características do PHP 3 estavam e

extensibilidade, a possibilidade de conexão com vários bancos de

dados, novos protocolos, uma sintaxe mais consistente, suporte à

orientação a objetos e uma nova API, que possibilitava a criação de

novos módulos e que acabou por atrair vários desenvolvedores ao PHP.

No final de 1998, o PHP já estava presente em cerca de 10% dos

domínios na internet. Nessa época o significado da sigla PHP mudou

Page 12: Apostila PHP MySql

PHP & MySql 6

para PHP: Hypertext Processor, retratando assim a nova realidade de

uma linguagem com propósitos mais amplos.

No inverno de 1998, após o lançamento do PHP 3, Zeev e Andi

começaram a trabalhar em uma reescrita do núcleo do PHP, tendo em

vista melhorar sua performance e modularidade em aplicações

complexas. Para tanto, resolveram batizar este núcleo de Zend Engine,

ou mecanismo Zend (Zeev + Andi). O PHP 4, baseado neste

mecanismo, foi lançado oficialmente em maio de 2000, trazendo

muitas melhorias e recursos novos, como seções, suporte a diversos

servidores web, além da abstração de sua API, permitindo inclusive ser

utilizado com linguagem para shell script. Nesse momento, o PHP já

estava presente em cerca de 20% dos domínios da internet, além de

ser utilizado por milhares de desenvolvedores ao redor do mundo.

Apesar de todos os esforços, o PHP ainda necessitava maior

suporte à orientação a objetos, tal qual existe em linguagens como

C++ e Java. Tais recursos estão finalmente presentes no PHP 5, após

um longo período de desenvolvimento que culminou com sua

disponibilização oficial em junho de 2004.

O que é PHP?

PHP - Hypertext Processor – É uma linguagem de programação

de código aberto muito utilizada, onde sua principal função é a de

criação de scripts, que são executados no servidor web para a

manipulação de página HTML, ou seja, utiliza-se PHP para criar páginas

dinâmicas e automáticas. Essa linguagem é diferente de outras

Page 13: Apostila PHP MySql

PHP & MySql 7

linguagens, onde o código é interpretado e não compilado.

Em que consiste uma página dinâmica?

Entende-se por uma página dinâmica, toda a página que é

gerada quando existe um pedido no servidor, ou seja, a página que

chega ao utilizador não existe “escrita” no servidor. Existem sim os

conteúdos, que serão depois colocados nos respectivos locais, na

página, consoante os pedidos. O melhor exemplo de um site dinâmico

é um motor de pesquisa. É impossível - e impensável - armazenar

todas as combinações de páginas que surgem, quando fazemos

diversas pesquisas. Quer isto dizer, que as páginas não existem e são

“geradas” com informações que estão em bases de dados, quando

fazemos um pedido sobre qualquer coisa.

Comunicação Cliente x Servidor

Quando é digitado um endereço no navegador para acessar uma

página na internet o que acontece é uma requisição do cliente

(navegador) ao servidor web. O servidor processa essa requisição e

retorna uma resposta ao cliente, que por sua vez, interpreta o código

retornado e formata a página para a sua visualização. Esse

procedimento acontece em todas as requisições feitas pelo navegador.

Portanto, programar para a web pode ser considerado como um

jogo que consiste em receber os dados do usuário, processá-lo e enviar

a resposta dinâmica. Uma vez enviada a resposta é encerrado o

contato entre o servidor e o cliente.

Page 14: Apostila PHP MySql

PHP & MySql 8

Visualização:

Delimitando o código PHP

O código PHP fica embutido no próprio HTML. O interpretador

identifica quando um código é PHP pelas seguintes tags:

<?php

comandos

?>

<?

comandos

?>

<%

comandos

%>

Nota: O delimitador <% %> de alteração no arquivo de configuração

php.ini.

Tudo que estiver delimitado por <? e ?> / <?php e ?> / <% e

%> será processado no servidor. O navegador cliente receberá apenas

o resultado do processamento.

CLIENTE SERVIDOR WEB

Page 15: Apostila PHP MySql

PHP & MySql 9

Nota: NO PHP TODAS AS INTRUÇÕES SÃO TERMIDADAS COM

O CARACTERE “;” (ponto e virgula). Este caractere indica ao

interpretador quando acaba uma instrução, e quando ele deve de

esperar outra instrução. A exceção deste caso é quando um bloco de

código PHP só contem uma única instrução, podendo, assim incluir ou

não o ';' .

Exercício 01

<?php

echo “Olá Mundo”;

?>

Resultado:

Olá Mundo

Comentários no PHP

Com a idéia de organizar o programa para fácil visualização

podemos inserir COMENTÁRIOS. Em HTML utilizamos os delimitadores

<!-- e -->, em PHP também é possível comentar partes de um código.

Para tal, quando se quer comentar uma única linha, utilizamos os

caracteres “//” para comentar a linha que não será processada. Para

um bloco de linhas, utilizamos os separadores “/*” no inicio do bloco, e

“*/” para fechar o comentário.

Page 16: Apostila PHP MySql

PHP & MySql 10

Exemplo:

<?php

// Uma linha de comentário.

/*

Um Simples

bloco de

comentário !!!

*/

?>

Exercício 02

Veja no exercício abaixo como o PHP interage com o HTML.

Utilize um editor de texto puro (como o gedit) ou editor web

(como o BlueFish), para digitar e testar o código abaixo. Salve na pasta

indicada pelo seu instrutor com o nome de “ecoando.php”, abra um

navegador e digite o endereço:

http://localhost/<endereço>/ecoando.php

Obs: Onde estiver escrito <endereço> digite o local indicado pelo seu

instrutor.

A primeira linha e <u>normal</u>. <br> <?

echo“<b>A segunda linha já é escrita pelo <b>PHP</b>.”;?>

Page 17: Apostila PHP MySql

PHP & MySql 11

Variáveis

Variáveis são identificadores utilizados para representar valores

mutáveis e voláteis, que só existem durante a execução do programa.

Ela são armazenadas na memória RAM e seu conteúdo é distribuído

após a execução do programa. Para criar uma variável em PHP,

precisamos atribuir-lhe um nome de identificação, sempre procedido

pelo caractere $ (cifrão). Veja os exemplos a seguir:

Exercício 03

<?php

$nome=“João”;

$sobrenome=“de Souza”;

echo “$sobrenome, $nome”;

?>

Resultado:

de Souza, João

<br> Nisto, vem uma <font color=\“#FF0000\”>terceira mais

complexa</font>... <br>

<?echo “E logo a<font color=\“#00FF00\”>seguir</font>,

a quarta <font color=\“#0000FF\”>ainda complicada!” ;?>

Page 18: Apostila PHP MySql

PHP & MySql 12

Dicas:

Nunca inicie a nomenclatura de variáveis com números;

Nunca utilize espaços em branco no meio do identificador da

variável;

Nunca utilize caracteres especiais: (!@#%^&*/|[]{}) na

nomenclatura das variáveis;

Evite criar variáveis com mais de 15 caracteres em virtude da

clareza do código fonte;

Nomes de variáveis devem ser significativos e transmitir a idéia

de seu conteúdo dentro do contexto no qual a variável está

inserida;

Utilize preferencialmente palavras em minúsculo (separadas

pelo caractere “_”) ou somente as primeiras letras em

maiúsculo quando houver mais palavras.

<?php

$codigo_cliente //exemplo de variável

$codigoCliente //exemplo de variável

?>

Tipos de Dados Suportados

Integer (Inteiro)

É utilizado para números inteiros. Veja como declarar uma

variável do tipo inteiro:

$curso =1000; // número inteiro positivo

$curso = -1000; // número inteiro negativo

Page 19: Apostila PHP MySql

PHP & MySql 13

Double (Dupla Precisão)

É utilizado para números reais, podendo fazer cálculos com

grande precisão. Veja os exemplos abaixo:

$curso = 1.050; // O ponto é o separador decimal

$curso = 52e3; // Notação científica (equivale a 52000)

Strings

É utilizado para strings de caracteres. As strings podem ser

delimitadas de duas maneiras:

Com aspas duplas ('' ''), todas as variáveis dentro da string

serão resolvidas.

Exercício 04

<?php

$teste = “Linux”;

$php= “--- $teste --- \n”;

echo $php;

?>

Resultado:

--- Linux ---

Com o uso de apóstrofos (' '), a string permanece como

aparece, sem substituições.

Page 20: Apostila PHP MySql

PHP & MySql 14

Exercício 05

<?php

$teste = “Linux”;

$php= '--- $teste --- \n';

echo $php;

?>

Resultado:

--- $teste ---\n

Booleano

É utilizado para valores verdadeiros (True) ou falsos (False).

Array

É utilizado para armazenar vários itens de dados do mesmo tipo

em uma única variável.

Objeto

É utilizado para armazenar instâncias de classes.

Caracteres de Escape

Os caracteres de escape começam com uma barra invertida (\)

e são colocados dentro das strings. Internamente eles são substituídos

pelos caracteres reais e pelas ações que esses caracteres simbolizam.

Page 21: Apostila PHP MySql

PHP & MySql 15

\n Nova linha. Desce para a linha de baixo.

\r Retorno de carro (semelhante a \n). Coloca o cursor no começo

da linha.

\t Tabulação horizontal. Pula para a próxima tabulação.

\\ Barra invertida. Substitui por uma barra invertida.

\$ Cifrão. Substitui por um cifrão.

\” Aspas. Substitui por aspas.

Exercício 06

No exercício abaixo é mostrada a forma como o PHP utiliza

variáveis.

Utilizando um editor de texto puro (como o gedit) ou editor web

(como o BlueFish), salve o arquivo na pasta indicada pelo seu instrutor

com o nome de “variaveis.php”, abra um navegador e digite o

endereço http://localhost/<endereço>/variaveis.php

Exemplo de utilização de variáveis: <br><br> <?php

$inteiro=10; $real=20.0; $caracter= 'V'; $cor1= "#FF0000"; $cor2= "#0000FF";

?> <font color= <? echo $cor1?>> A variável $inteiro tem o valor <? echo $inteiro ?>. </font> <br><font color= <? echo $cor2 ?>> A variável $real tem o valor <? echo $real ?> </font> <br><font color= <? echo $cor1 ?>> O caractere escolhido e o <? echo $caracter ?></font>

Page 22: Apostila PHP MySql

PHP & MySql 16

Operadores

Aritméticos

O PHP possui todos os operadores aritméticos. Os principais

são:

+ Adição

- Subtração

* Multiplicação

/ Divisão

% Resto da divisão

String

O PHP possui um único operador de string, que é o operador de

concatenação “.” . Veja o exemplo abaixo:

Exercício 07

<?php

$x=“Alô ”;

$s=$x.“Mundo”;

echo($s.“\n”);

?>

Resultado:

Alô Mundo

Page 23: Apostila PHP MySql

PHP & MySql 17

Atribuição

O único operador de atribuição do PHP é o “=”. Este,

combinado com os operadores aritméticos e de string, pode reduzir o

tamanho do código.

= Atribuição simples.

+= Atribuição com adição.

-= Atribuição com subtração.

*= Atribuição com Multiplicação.

/= Atribuição com divisão.

%= Atribuição com módulo.

.= Atribuição com concatenação.

Veja o exemplo abaixo.

Exercício 08

<?php

$curso = 7;

$curso += 2;

echo $curso;

?>

Resultado:

9

Page 24: Apostila PHP MySql

PHP & MySql 18

Veja outro exemplo utilizando a atribuição com módulo (resto de

divisão):

<?php

$resto = 11;

$resto %= 2;

echo $resto;

?>

Resultado:

1

No exemplo acima inicialmente a variável $resto possuí valor

11.

A operação “$resto %=2;” é equivalente à operação

“$resto=$resto%2;”, isto é, as duas calculam o resto da divisão da

variável $resto por 2.

Incrementação: Pode ser utilizada de duas formas: antes ou depois

da variável. O incremento de uma variável soma 1 unidade à uma

variável e armazena o resultado na mesma. O decremento subtraí uma

variável em 1 unidade. Quando utilizado antes, retorna o valor da

variável antes de incrementá-la ou decrementá-la. Quando utilizado

depois, retorna o valor da variável já incrementado ou decrementado.

++ Incremento

- - Decremento

Page 25: Apostila PHP MySql

PHP & MySql 19

Exemplos:

$a=$b=10; // $a e $b recebem o valor 10

$c=$a++; // $c recebe 10 e $a passa a ter 11

$d=++$b; // $d recebe 11, valor de $b já incrementado

$d++; // $d recebe + 1 unidade e passa a valer 12

Lógicos

Os operadores lógicos trabalham com os valores completos,

utilizando TRUE ou FALSE.

Operador Significado Exemplo

and “e” lógico $a and $b

or “ou” lógico $a or $b

! Não (inversão) !$b

&& “e” lógico $a && $b

|| “ou” lógico $a || $b

Comparação

Os operadores de comparação são usados para comparar dois

valores.

== igual a

!= Diferente de

<> Diferente de

< menor que

> maior que

<= menor ou igual a

>= maior ou igual a

Page 26: Apostila PHP MySql

PHP & MySql 20

Integrando o PHP ao HTML

Nesta seção, vamos criar uma página dinâmica para processar

os dados enviados pelo formulário.

Os valores dos campos passados pelos formulários ficam

armazenados nos vetores $_POST e $_GET conforme o método de

envio.

Métodos GET e POST

O GET é um método do HTTP destinado a enviar dados do

cliente para o servidor. É acionado por meio de um formulário HTML

através da diretiva METHOD=GET incluída na tag <FORM>.

Quando o formulário HTML utiliza o método GET, o fluxo de

dados é separado do endereço URL que chama a CGI através de um

ponto de interrogação (?). Esta forma de endereçamento e separação

pode ser observada no campo de endereços do navegador do usuário.

Logo após o formulário ter sido enviado, pode ver algo como:

http://www.meusite.com/meuscript.cgi?campo1=valor1&campo2=va

lor2.

O POST é outro método do HTTP similar ao GET, porém é

acionado por meio da diretiva METHOD=POST. Este método faz com

que os dados do formulário sejam diretamente transmitidos ao

endereço que constar da diretiva ACTION= e não através da URL.

Ao escrevermos nossos scripts, devemos sempre lembrar qual

método estamos usando a fim de determinarmos se iremos ler os

dados do vetor $_POST ou $_GET.

Page 27: Apostila PHP MySql

PHP & MySql 21

Dica: Sempre que possível, deve-se utilizar o método POST, pois

através do método GET os dados enviados ficam mais expostos através

da URL no navegador, o que representa uma falha de segurança.

Exercício 09

Salve seu arquivo com o nome de “formulario.php” e digite o

endereço http://localhost/<endereço>/formulario.php no seu

navegador para testá-lo.

Estruturas de Controle

If

O comando if testa a condição passada e executa o bloco de

código caso o valor retornado da condição seja verdadeiro. Veja o

exemplo a seguir:

<?php$nome = $_POST['nome'];/*atribuindo o valor do formulário na variável $nome. */echo “O meu nome é: ” . $nome;?>

<form method=“POST” action=“formulario.php”>Digite seu Nome:<input type=“text” name=“nome” value=“”><input type=“submit” value=“Enviar”></form>

Page 28: Apostila PHP MySql

PHP & MySql 22

Exercício 10

Resultado:

Não é igual

Else

Caso a condição passada retorne um valor falso, e seja

necessário executar um bloco de código diferente, utiliza-se a instrução

else. Veja o exemplo a seguir:

Exercício 11

<?php

$a = 1;if ($a == 5)

{echo “é igual”;}else

{echo “não é igual”;}

?>

<?php$a = 1;$b = 2;if ($a > $b)

{echo “$a > $b”;}

else

Page 29: Apostila PHP MySql

PHP & MySql 23

Resultado:

2 > 1

ElseIf

Ainda existe a instrução elseif, para situações onde precisa-se

verificar mais que uma condição. Veja o exemplo a seguir:

Exercício 12

else{echo “$b > $a”;}

?>

<?php$a=1;$b=2;$c=3;if ($a > $b) {

echo “$a e&acute; maior que $b”;}

elseif ($a > $c) {echo “$a e&acute; maior que $c”;}

else {echo “$a e&acute; menor que $b e $c”;}

?>

Page 30: Apostila PHP MySql

PHP & MySql 24

Resultado:

1 é menor que 2 e 3

Laços

While

Este comando é utilizado para realizar laços de repetições

condicionais. Ele executa o bloco de código enquanto a condição

passada for verdadeira, e caso a condição inicial que foi passada se

torne falsa, o bloco não será executado. Veja o exemplo a seguir:

Exercício 13

Resultado:

Exemplo de While

1234

<?phpecho “Exemplo de While”.“<br>”;$a=1;while ($a<5)

{echo $a;$a++;}

?>

Page 31: Apostila PHP MySql

PHP & MySql 25

For

Como nos outros comandos que realizam laços condicionais, o

comando for também precisa de uma condição para ser testada a cada

laço realizado, porém, este comando necessita de mais dois

parâmetros, que seriam a declaração da variável contadora e a

instrução de incremento. Veja o exemplo abaixo:

Exercício 14

Resultado:

Exemplo de For

12345678910

Include

A função include coloca o conteúdo de um outro arquivo, com ou

sem código em PHP, substituindo pelo novo código. O código do

arquivo incluído é processado em tempo de execução, permitindo

assim, que sejam usados “includes” dentro de estruturas de controle

como for e while. Veja o exemplo a seguir:

<?phpecho “Exemplo de For”.“<br>”;for ($i=1; $i<=10; $i++)

{echo $i;}

?>

Page 32: Apostila PHP MySql

PHP & MySql 26

Exercício 15

Programa: teste.php

Programa: externo.php

O programa com o comando include ficaria da seguinte forma:

<?php

echo “Teste A”;

echo “Teste B”;

echo “Teste C”;

echo “Teste D”;

?>

O comando include é muito utilizado quando você quer definir

funções ou variáveis que serão utilizadas com freqüência em várias

páginas de um site.

<?phpecho “Teste A”.“<br>”;echo “Teste B”.“<br>”;

include “externo.php”;

echo “Teste D”.“<br>”;?>

<?phpecho “Teste C”.“<br>”;?>

Page 33: Apostila PHP MySql

PHP & MySql 27

Array

É um tipo de variável que possui seu conteúdo agrupado por

índices, como um vetor ou um dicionário. Estes índices podem ser de

qualquer tipo suportado pelo PHP. Pode-se criar um array usando as

funções list() ou array(), ou pode-se atribuir explicitamente o valor de

cada elemento. Também é possível criar uma array, simplesmente

adicionando-se valores ao array. Veja o exemplo abaixo:

Exercício 16

Listas

As listas são utilizadas em PHP para realizar várias atribuições,

como por exemplo, atribuir valores de uma array para variáveis, como

mostra o exemplo a seguir:

<?php

list($a, $b, $c) = array(0 => “abacaxi”, 1 => “pera”, 2 =>

“laranja”);

?>

<?php$array[0] = "Curso";$array[1] = "HP";$array[“MPB”] = "Gilberto Gil";echo $array[0]. "<br>";echo $array[1]. "<br>";echo $array[“MPB”]. "<br>";?>

Page 34: Apostila PHP MySql

PHP & MySql 28

O programa acima atribuirá simultaneamente e respectivamente

os valores do array às variáveis passadas como parâmetros para o

comando list. É muito importante lembrar que só serão passadas ao

comando list os elementos do array que possuírem os índices com

valores inteiros e não negativos.

Exercício 17

O exercício abaixo mostra a utilização de vetores e listas. Salve

seu arquivo com o nome de “listas.php” na pasta habilitada e digite o

endereço http://localhost/<endereço>/listas.php no seu navegador

para testá-lo.

<?php $meses=array(“Janeiro”,“Fevereiro”,“Março”,“Abril,“Maio”,“Junho”,“Julho”,“Agosto”,“Setembro”,“Outubro”,“Novembro”,“Dezembro”); ?> Ciclo While <br><br>

<? $mes=0; while ($mes<=11) {

echo “Mês: $meses[$mes] <br>”; $mes++ ;

}?> <br><br><br> Ciclo For <br><br> <? for ($mes=0; $mes<=11; $mes++)

{ echo “Mês: $meses[$mes] <br>”; }

?>

Page 35: Apostila PHP MySql

PHP & MySql 29

MySql – Banco de Dados

No mundo atual existem gigantescos bancos de dados

gerenciando nossas vidas. Nossa conta bancária faz parte de uma

coleção imensa de contas bancárias de nosso banco.

Nosso Título Eleitoral ou nosso Cadastro de Pessoa Física,

certamente estão armazenados em Bancos de Dados colossais.

Sabemos também que quando sacamos dinheiro no caixa eletrônico de

nosso banco, nosso saldo e as movimentações existentes em nossa

conta bancária já estão à nossa disposição.

Nestas situações sabemos que existe uma necessidade em se

realizar o armazenamento de uma série de informações que não se

encontram efetivamente isoladas umas das outras, ou seja, existe uma

ampla gama de dados que se referem a relacionamentos existentes

entre as informações a serem manipuladas.

Para gerenciar tantos dados como os citados são utilizados os

Sistemas de Gerenciamento de Banco de Dados (SGBD). Sem tais

sistemas o mundo atual estaria bastante diferente de como vemos

hoje. O mercado financeiro atual não existiria. As praticidades, como

compras pela Internet, cartões de débito, caixas automáticos e mais

uma infinidade de exemplos, não seriam possíveis.

Popularização dos Bancos de Dados

Há poucas décadas, os bancos de dados eram utilizados apenas

por grandes instituições. O seu uso era restrito aos grandes negócios,

onde simplesmente seria impossível a operação de certas indústrias ou

Page 36: Apostila PHP MySql

PHP & MySql 30

empresas.

Com a popularização e barateamento da plataforma IBM/PC,

logo surgiram programas aplicativos para algum tipo de

armazenamento de dados.

Antes desses equipamentos e softwares tornarem-se acessíveis,

muitas vezes eram utilizadas fichas cadastrais para armazenar dados

de clientes em pequenos e médios negócios (essas fichas e armários de

fichários são ainda hoje utilizados em alguns locais).

Para se entender como isso funcionava, vamos usar um

exemplo de uma pessoa que ao visitar uma clínica médica/odontológica

fornecia seu nome, endereço, telefone etc. Esses dados eram então

anotados nessas fichas, que eram a única maneira de se guardar as

informações de clientes, pacientes, estudantes, peças numa oficina

mecânica etc.

Exemplo de ficha cadastral:

Nº de cadastro: 19.000/2

Nome: Fulano Beltrano Santos.........................RG

Nº:165.956.401/26

Endereço: Rua Alpha, Nº 308 Bairro Cariru

Cidade: Ituporanga-SP......................................Fone: (79)5555-

5555

Problema encontrado: Paciente apresentava constipação.

Quando era necessário saber o número de telefone de um

cliente chamado “Raoni Guimarães Villar de Pinho” era preciso abrir o

Page 37: Apostila PHP MySql

PHP & MySql 31

fichário, encontrar a letra R e ir olhando aos poucos onde havia o nome

Raoni. Se fosse preciso saber, em uma escola, se o aluno “Artur Magno

Horta de Abreu” havia repetido alguma série, era preciso verificar as

fichas que continham os históricos escolares, depois procurar pelo

histórico do aluno e ainda procurar nessa ficha se o aluno havia

repetido alguma série. No caso de uma farmácia, saber quais produtos

custavam mais que R$ 5,00 seria extremamente difícil, e nada disso

era feito.

Atualmente os bancos de dados estão por toda parte, desde a

farmácia da esquina até a lojinha do posto de gasolina.

O que é um Sistema de Gerenciamento de Banco de

Dados?

Um SGBD - Sistema de Gerenciamento de Banco de Dados é

uma coleção de programas que permitem ao usuário definir, construir e

manipular Bancos de Dados para as mais diversas finalidades.

Um SGBD deve possuir as seguintes características:

Controle de Redundâncias - A redundância consiste no

armazenamento de uma mesma informação em locais diferentes,

provocando inconsistências. Em um Banco de Dados as informações só

se encontram armazenadas em um único local, não existindo

duplicação descontrolada dos dados. Quando existem replicações dos

dados, estas são decorrentes do processo de armazenagem típica do

ambiente Cliente-Servidor, totalmente sob controle do Banco de Dados.

Page 38: Apostila PHP MySql

PHP & MySql 32

Compartilhamento dos Dados - O SGBD deve incluir software de

controle de concorrência ao acesso dos dados, garantindo em qualquer

tipo de situação a escrita/leitura de dados sem erros.

Controle de Acesso - O SGDB deve dispor de recursos que

possibilitem selecionar a autoridade de cada usuário. Assim um usuário

poderá realizar qualquer tipo de acesso, outros poderão ler alguns

dados e atualizar outros, e outros ainda poderão somente acessar um

conjunto restrito de dados para escrita e leitura.

Interfaceamento - Um Banco de Dados deverá disponibilizar formas

de acesso gráfico, em linguagem natural, em SQL ou ainda via menus

de acesso, não sendo uma “caixa-preta” somente sendo passível de ser

acessada por aplicações.

Esquematização - Um Banco de Dados deverá fornecer mecanismos

que possibilitem a compreensão do relacionamento existente entre as

tabelas e sua eventual manutenção.

Controle de Integridade - Um Banco de Dados deverá impedir que

aplicações ou acessos pelas interfaces possam comprometer a

integridade dos dados.

Cópias de segurança - O SGBD deverá apresentar facilidade para

recuperar falhas de hardware e software, através da existência de

Page 39: Apostila PHP MySql

PHP & MySql 33

arquivos de “pré-imagem” ou de outros recursos automáticos, exigindo

minimamente a intervenção de pessoal técnico.

Em certos casos pode ocorrer de um SGBD não obedecer uma

ou outra regra das vistas acima, mas ainda assim continuar sendo

considerado um SGBD. Porém alguns “Bancos de Dados” atualmente

comercializados não são SGBD reais, justamente por não atenderem

algumas dessas características.

Php MyAdmin

É uma ferramenta de administração de banco de dados MySql

implementada em PHP com interface web. É bastante amigável e útil

para aquele que não se sente muito confortável com SQL.

Para acessar a ferramenta digite a seguinte URL no navegador:

http://localhost/phpmyadmin

MySql

É um Sistema de Gerenciamento de Bancos de Dados relacional.

Um banco de dados relacional armazena dados em tabelas separadas

em vez de colocar todos os dados em um só local. Isso proporciona

velocidade e flexibilidade. O MYSQL é um software cujo código fonte é

aberto, onde é possível para qualquer um usar e modificar o programa.

Qualquer pessoa pode fazer download do MySQL pela Internet e usá-lo

sem pagar nada (o MySQL só é cobrado em alguns poucos casos). Se

você quiser pode estudar o código fonte e alterá-lo para adequá-lo às

Page 40: Apostila PHP MySql

PHP & MySql 34

suas necessidades. O MySQL usa a GPL (GNU - General Public License -

Licenca Pública Geral GNU) http://www.fsf.org/licenses, para definir o

que você pode e não pode fazer com o software em diferentes

situações ou se preferir adquirir a versão comercial licenciada.

- O MySQL suporta diferentes plataformas, tais como: Windows, Linux,

FreeBSD, Unix, entre outros.

Exemplo de Banco de dados

Tabela de DEPARTAMENTO

Nome Número* RG Gerente

Contabilidade 1 10101010

Engenharia Civil 2 30303030

Engenharia Mecânica 3 20202020

Engenharia Elétrica 4 40202020

Há 3 campos na tabela DEPARTAMENTO (nome, número e RG

Gerente), sendo que o campo Número é chave primária (impede que

existam 2 registros iguais no banco de dados). A primeira linha possui

valores “Contabilidade”, “1” e “10101010”.

Os nomes das tabelas e dos campos são de fundamental

importância para nossa compreensão entre o que estamos

armazenando, onde estamos armazenando e qual a relação existente

entre os dados armazenados.

Page 41: Apostila PHP MySql

PHP & MySql 35

Cada registro de nossa relação será chamado de linha e cada

coluna de nossa relação será chamada de ATRIBUTO.

O esquema de uma relação, nada mais é que os campos

(colunas) existentes em uma tabela. Já a instância da relação consiste

no conjunto de valores que cada atributo assume em um determinado

instante. Portanto, os dados armazenados no Banco de Dados, são

formados pelas instâncias das relações.

As relações não podem ser duplicadas (não podem existir dois

estados do Pará, no conjunto de estados brasileiros, por exemplo), a

ordem de entrada de dados no Banco de Dados não deverá ter

qualquer importância para as relações, no que concerne ao seu

tratamento.

Como utilizar a SQL para manipular os bancos de

dados MySQL

O SQL possui comandos que são utilizados para manipular os

bancos de dados, as tabelas e os registros existentes. Para acessar o

banco de dados SQL via terminal (linha de comandos) proceda da

seguinte forma:

mysql -u usuario -p <enter>

digite a senha de acesso ao banco <enter>

mysql: (Neste ponto o banco está pronto para ser usado!)

Page 42: Apostila PHP MySql

PHP & MySql 36

Comandos SQL

Comando SHOW

Mostra os bancos de dados e tabelas existentes.

Sintaxe:

SHOW DATABASES; (Mostra os bancos de dados existentes no

MySql)

SHOW TABLES; (Exibe as tabelas existentes no banco)

Comando USE

Seleciona um bancos de dados para ser utilizado.

Sintaxe:

USE nome_do_banco;

Comando CREATE

Este comando permite a criação de bancos de dados ou de

tabelas num banco de dados.

Sintaxe:

CREATE DATABASE < nome_db >;

onde: nome_db indica o nome do Banco de Dados a ser criado.

Exemplo:

CREATE DATABASE curso;

Sintaxe:

CREATE TABLE < nome_tabela > (

nome_atributo1 < tipo > [ NOT NULL ],

Page 43: Apostila PHP MySql

PHP & MySql 37

nome_atributo2 < tipo > [ NOT NULL ],

......

nome_atributoN < tipo > [ NOT NULL ]

PRIMARY KEY(nome_atributo)

) ;

onde: nome_tabela indica o nome da tabela a ser criada.

nome_atributo: indica o nome do campo a ser criado na tabela.

tipo: indica a definição do tipo de atributo ( integer(n), char(n), ... ).

PRIMARY KEY: esse é o campo utilizado para que não exista, na tabela,

dois registros iguais.

Ele mantém a integridade do banco de dados. Caso você tente

inserir num banco de dados um registro com uma PRIMARY KEY já

existente ele emitirá uma mensagem de erro e impedirá que o registro

seja inserido.

Exemplo:

CREATE table alunos(

codigo int NOT NULL AUTO_INCREMENT,

nome VARCHAR(20) NOT NULL ,

telefone CHAR(8) NOT NULL,

PRIMARY KEY(codigo) );

Page 44: Apostila PHP MySql

PHP & MySql 38

Comando INSERT

Adiciona um ou vários registros a uma tabela.

Sintaxe básica:

INSERT INTO destino [campo1, campo2] VALUES (valor1,

valor2);

A instrução INSERT INTO possui as partes abaixo:

Destino - O nome da tabela em que os registros devem ser anexados.

campo1, campo2 - Nomes dos campos aos quais os dados devem ser

inseridos.

valor1, valor2 - Valores para inserir nos campos especificados do novo

registro. Cada valor é inserido no campo que corresponde à posição do

valor na lista: Valor1 é inserido no campo1 do novo registro, valor2 no

campo2 e assim por diante. Você deve separar os valores com uma

vírgula e colocar os campos de textos entre aspas (“ ”).

Seguindo o exemplo da tabela funcionários, veja a inclusão dos

2 primeiros registros:

Nome RG CPF Depto. RG Sup. Salário

Pedro 101010101 11111111-21 1 NULO 3000

Fernando 202020202 22222222-20 2 333333333 2700

INSERT INTO funcionarios VALUES ('Pedro', 101010101,

1111111121,1,”,3000);

INSERT INTO funcionarios VALUES ('Fernando', 20202020-

2,1111111120,2,333333333,2700);

Page 45: Apostila PHP MySql

PHP & MySql 39

Comando SELECT

Realiza uma seleção de informações existentes nas tabelas.

Sintaxe básica:

SELECT [DISTINCT] expressao [AS nome-atributo]

[FROM from-lista]

[WHERE condicao]

[ORDER BY attr_name1 [ASC | DESC ]]

onde:

DISTINCT: Elimina linhas duplicadas na seleção.

EXPRESSÃO: Define os dados que queremos selecionar, normalmente

uma ou mais colunas de uma tabela que está em from-lista.

AS nome-atributo: Define um alias (apelido) para o nome da coluna.

FROM: Lista das tabelas onde a pesquisa será feita.

WHERE: Condição para que um registro seja selecionado.

ORDER BY: Critério para ordenação dos registros selecionados.

Utilizando ASC a ordem será crescente, utilizando DESC a ordem será

decrescente.

Where como base das Restrição de linhas

A cláusula “where” restringe a seleção de dados, de acordo com

seu argumento. Contém a condição que as linhas devem obedecer a

fim de serem listadas.

Ela pode comparar valores em colunas, literais, expressões

aritméticas ou funções.

Page 46: Apostila PHP MySql

PHP & MySql 40

A seguir apresentamos operadores lógicos e complementares a

serem utilizados nas expressões apresentadas em “where”:

Exemplos:

SELECT cidade, estado FROM brasil WHERE populacao > 100000;

Selecionará os campos cidade e estado da tabela brasil de todos

os registros que tiverem valor maior que 100.000 no campo população.

SELECT * FROM cidadao ORDER BY nome DESC;

Selecionará todos os campos da tabela cidadão e utilizará

ordenação decrescente na seleção.

Selecionar quantas pessoas existem cadastradas:

SELECT COUNT(*) FROM funcionarios;

Selecionar quantos funcionários existem no departamento 3:

SELECT COUNT(*) FROM funcionarios WHERE depto=3;

Selecionar o nome e o rg dos funcionários que ganham mais que

3000 reais:

SELECT nome, rg FROM funcionarios WHERE salario>3000;

Comando DESCRIBE

Exibe a descrição da tabela.

Sintaxe: DESCREIBE nome_da_tabela;

Page 47: Apostila PHP MySql

PHP & MySql 41

Comando DROP

Elimina a definição da tabela, seus dados e referências ou um

banco de dados existente.

Sintaxe:

DROP TABLE nome_da_tabela; (Exclui a tabela)

DROP DATABASE nome_do_banco; (Exclui o banco de dados)

Comando DELETE

Remove registros de uma ou mais tabelas listadas na cláusula

FROM que satisfazem a cláusula WHERE.

Sintaxe:

DELETE FROM tabela WHERE critério;

onde:

TABELA: O nome da tabela de onde os registros serão excluídos.

CRITÉRIO: Uma expressão que determina qual registro deve ser

excluído.

O comando DELETE exclui registros inteiros e não apenas dados

em campos específicos.

Se você quiser excluir valores de um campo específico, use o

comando UPDATE que mude os valores dos campos para NULL.

Após remover os registros usando uma consulta DELETE você

não poderá desfazer a operação.

Fazendo a operação:

DELETE FROM funcionarios WHERE salario>7999;

Page 48: Apostila PHP MySql

PHP & MySql 42

(Excluirá da tabela funcionários todos os registros onde o salário é

menor que 7999.)

Comando UPDATE

O comando UPDATE altera os valores de alguns campos de uma

tabela especificada, com base em critérios específicos.

Sintaxe:

UPDATE tabela SET campo1 = valornovo, ... WHERE critério;

Onde:

TABELA: O nome da tabela onde você quer modificar os dados.

VALORNOVO: Uma expressão que determina o valor a ser inserido no

campo do registro que será atualizado.

CRITÉRIO: Uma expressão que determina quais registros devem ser

atualizados. Só os registros que satisfazem a expressão são

atualizados.

O comando UPDATE é bastante útil quando você quer alterar

muitos registros ou quando os registros que você quer alterar estão em

várias tabelas. Você pode alterar vários campos ao mesmo tempo.

Utilizando a cláusula UPDATE é possível alterar os registros da

tabela funcionários, para que os funcionarios que integram o depto 3

passem a pertencer ao depto 5:

UPDATE funcionarios SET depto=5 WHERE depto=3;

Caso fosse necessário dar um aumento de 20% de salário aos

Page 49: Apostila PHP MySql

PHP & MySql 43

funcionários que ganham menos de 3000 reais o comando seria o

seguinte:

UPDATE funcionarios SET salario=salario+salario*0.2 WHERE

salario;

Utilize os comandos vistos anteriormente para manipular os

bancos de dados:

Roteiro – Criação de Banco de Dados

1. Crie um banco de dados com o comando:

CREATE DATABASE animais;

2. Passe a utilizar o banco de dados animais nas suas consultas:

USE animais;

3. Crie uma tabela chamada PET com os campos nome, dono,

especie e sexo

CREATE TABLE pet (nome VARCHAR (20), dono VARCHAR (20),

especie VARCHAR (20), sexo CHAR (1) );

4. Liste as tabelas do banco:

SHOW TABLES;

5. Obtenha detalhes da tabela:

DESCRIBE pet;

6. Insira algumas entradas nesta tabela:

INSERT INTO pet VALUES ('Pluto', 'Edgar', 'cachorro', 'M');

INSERT INTO pet VALUES ('Rex', 'Carlos', 'cachorro', 'M');

INSERT INTO pet VALUES ('Loro', 'Marisa', 'papagaio', 'F');

Page 50: Apostila PHP MySql

PHP & MySql 44

7. Liste o conteúdo da tabela:

SELECT * FROM pet;

8. Altere uma entrada desta tabela:

UPDATE pet SET dono = 'Carlos' WHERE nome='Rex';

9. Liste novamente todo o conteúdo da tabela, e verifique o que foi

alterado

10. Faça uma consulta mais sofisticada:

SELECT * FROM pet WHERE (especie=“cachorro” AND sexo=“M”) OR

(especie=“papagaio” AND sexo=“F”);

11.Especifique as colunas que quer observar em sua consulta:

SELECT especie, nome FROM pet;

12.Remova uma entrada desta tabela:

DELETE FROM pet WHERE nome='Pluto';

13.Remova a tabela

DROP TABLE pet;

14.Remova o banco:

DROP DATABASE animais;

Estabelecendo conexões entre PHP e MySql

Para acessar bases de dados num servidor MySQL, é necessário

antes estabelecer uma conexão. Para isso, deve ser utilizado o

comando mysql_connect:

int mysql_connect(string [host[:porta]], string [login],

string [senha]);

Page 51: Apostila PHP MySql

PHP & MySql 45

O valor de retorno é um inteiro que identifica a conexão, ou

falso se a conexão falhar.

Antes de tentar estabelecer uma conexão, o interpretador PHP

verifica se já existe uma conexão estabelecida com o mesmo host, o

mesmo login e a mesma senha. Se existir, o identificador desta

conexão é retornado. Senão, uma nova conexão é criada.

Uma conexão estabelecida com o comando mysql_connect é

encerrada ao final da execução do script. Para encerrá-la antes disso

deve ser utilizado o comando mysql_close, que tem a seguinte

assinatura:

int mysql_close(int [identificador da conexão]);

Se o identificador não for fornecido, a última conexão

estabelecida será encerrada.

Selecionando a base de dados

Depois de estabelecida a conexão, é preciso selecionar a base

de dados a ser utilizada, através do comando mysql_select_db, que

segue o seguinte modelo:

int mysql_select_db(string base, int [conexao]);

Novamente, se o identificador da conexão não for fornecido, a

última conexão estabelecida será utilizada.

Page 52: Apostila PHP MySql

PHP & MySql 46

Realizando consultas

Para executar consultas SQL no MySQL, utiliza-se o comando

mysql_query, que tem a seguinte assinatura:

int mysql_query(string query, int [conexao]);

Onde query é a expressão SQL a ser executada, sem o ponto-e-

vírgula no final, e conexão é o identificador da conexão a ser utilizada.

A consulta será executada na base de dados selecionada pelo comando

mysql_select_db.

É bom lembrar que uma consulta não significa apenas um

comando SELECT. A consulta pode conter qualquer comando SQL

aceito pelo banco.

O valor de retorno é falso se a expressão SQL for incorreta, e

diferente de zero se for correta. No caso de uma expressão SELECT, as

linhas retornadas são armazenadas numa memória de resultados, e o

valor de retorno é o identificador do resultado. Alguns comandos

podem ser realizados com esse resultado:

Apagando resultados

O comando mysql_free-result deve ser utilizado para apagar da

memória o resultado indicado.

int mysql_free_result(int result);

Page 53: Apostila PHP MySql

PHP & MySql 47

Número de linhas

O comando mysql_num_rows retorna o número de linhas

contidas num resultado.

int mysql_num_rows(int result);

Utilizando os resultados

Existem diversas maneiras de ler os resultados de uma query

SELECT. As mais comuns serão vistas a seguir:

int mysql_result(int result, int linha, mixed [campo]);

Retorna o conteúdo de uma célula da tabela de resultados.

RESULT é o identificador do resultado;

LINHA é o número da linha, iniciado por 0;

CAMPO é uma string com o nome do campo, ou um número

correspondente ao número da coluna. Se foi utilizado um alias na

consulta, este deve ser utilizado no comando mysql_result.

Este comando deve ser utilizado apenas para resultados

pequenos. Quando o volume de dados for maior, é recomendado

utilizar um dos métodos a seguir:

array mysql_fetch_array(int result);

Lê uma linha do resultado e devolve um array, cujos índices são

os nomes dos campos. A execução seguinte do mesmo comando lerá a

Page 54: Apostila PHP MySql

PHP & MySql 48

próxima linha, até chegar ao final do resultado.

array mysql_fetch_row(int result);

Semelhante ao comando anterior, com a diferença que os

índices do array são numéricos, iniciando pelo 0 (zero).

CRUD – (Create, Read, Update e Delete)

Conceito para criação, consulta, alteração e exclusão de

registros feitos em um projeto de banco de dados relacional. Exemplo:

formulario.php

<html>

<head> <title> CRUD</title>

</head>

<body>

<h4>Inserir</h4>

<form action="inserir.php" method="post" name="teste">

Nome.: <input name="nome" type="text" size="10"

maxlength="10">

Sobrenome:<input name="sobrenome" type="text"

size="10" maxlength="10">

<input name="enviar" type="submit" value="Confirmar">

</form>

Page 55: Apostila PHP MySql

PHP & MySql 49

<hr>

<h4>Procurar</h4>

<form action="procurar.php" method="post" name="teste">

Nome.: <input name="nome" type="text" size="10"

maxlength="10">

<input name="enviar" type="submit" value= "Confirmar">

</form>

<hr>

<h4>Alterar</h4>

<form action="alterar.php" method="post" name="teste">

Nome.: <input name="nome" type="text" size="10"

maxlength="10">

<input name="enviar" type="submit" value= "Confirmar">

</form>

<hr>

<h4>Deletar</h4>

<form action="deletar.php" method="post" name="teste">

Nome.: <input name="nome" type="text" size="10"

maxlength="10">

<input name="enviar" type="submit" value="Confirmar">

</form>

</body>

</html>

Page 56: Apostila PHP MySql

PHP & MySql 50

inserir.php

procurar.php

<?

$nome = $_POST[nome];

$sobrenome = $_POST[sobrenome];

$conectar=mysql_connect("localhost","treinamento","treinam

ento");

$sql = "insert into teste (nome, sobrenome) values

('$nome','$sobrenome')";

$query = mysql_db_query("teste", $sql, $conectar);

echo "Cadastro Efetuado!";

echo ("<BR>");

echo ("<b> <a href=\"formulario.php\">Voltar</a> </b>

</center>");

?>

<?

$nome = $_POST[nome];

$sobrenome = $_POST[sobrenome];

$conectar=mysql_connect("localhost","treinamento","treinam

ento");

$declar = "SELECT * from teste WHERE nome = '$nome'";

$consulta = mysql_db_query ("teste", $declar, $conectar)

or die ("Erro no acesso ao banco");

$valor = mysql_fetch_array($consulta);

Page 57: Apostila PHP MySql

PHP & MySql 51

alterar.php

echo "<b>ID</b>.: ". $valor["id"] . "<br>";

echo "<b>Nome</b>.: ". $valor["nome"] . "<br>";

echo "<b>Sobrenome</b>.:". $valor["sobrenome"] .

"<br>";

echo ("<BR>");

echo ("<b> <a href=\"formulario.php\">Voltar</a>

</b> </center>");

?>

<?

$nome = $_POST[nome];

$sobrenome = $_POST[sobrenome];

$conectar=mysql_connect("localhost","treinamento","treinam

ento");

$declar = "SELECT * from teste WHERE nome = '$nome'";

$consulta = mysql_db_query ("teste", $declar, $conectar)

or die ("Erro no acesso ao banco");

$valor = mysql_fetch_array($consulta);

echo "<form method=\"post\" action=\"alterar2.php\">";

echo "<input type=\"HIDDEN\" name=\"id\" value=" .

$valor["id"] .">";

echo "<input type=\"text\" name=\"nome\" value=" .

$valor["nome"] .">";

Page 58: Apostila PHP MySql

PHP & MySql 52

alterar2.php

echo "<input type=\"text\" name=\"sobrenome\" value=" .

$valor["sobrenome"]." />";

echo "<input type=\"submit\" value=\"Alterar\">";

echo "</form>";

?>

<?

$id = $_POST[id];

$nome = $_POST[nome];

$sobrenome = $_POST[sobrenome];

$conectar=mysql_connect("localhost","treinamento","treinam

ento");

$declar=" UPDATE teste SET sobrenome='" . $sobrenome . "',

nome='" .$nome. "' WHERE id='" . $id . "'";

$consulta = mysql_db_query ("teste", $declar, $conectar)

or die ("Erro no acesso ao banco");

echo "<center>Altera&ccedil;&atilde;o Efetuada!";

echo ("<BR>");

echo ("<b> <a href=\"formulario.php\">Voltar</a>

</b> </center>");

Page 59: Apostila PHP MySql

PHP & MySql 53

deletar.php

<?

$nome = $_POST['nome'];

$sobrenome = $_POST['sobrenome'];

$conectar=mysql_connect("localhost","treinamento","treinam

ento");

$declar = "SELECT * from teste WHERE nome = '$nome'";

$consulta= mysql_db_query ("teste", $declar, $conectar) or

die ("Erro no acesso ao banco");

$encontrados = mysql_num_rows($consulta);

if ($encontrados > 0){

$deletar = "DELETE from teste where nome = '$nome'";

if (mysql_db_query ("teste", $deletar, $conectar)) {

echo ("<BR>");

echo ("<center> <b> <font size = 4> Exclus&atilde;o

Efetuada </font> </b> </center>");

echo ("<BR>");

echo("<center><b><a href=\"formulario.php\">Voltar

</a> </b> </center>");

}else {

echo ("<BR><BR>");

echo ("<center> <b> <font size = 4> Erro:

Exclus&atilde;o n&atilde;o Efetuada </font> </b>

</center>");

echo ("<BR><BR>");

echo ("<center> <b> <a href=\"formulario.php\">

Voltar</a> </b> </center>");

Page 60: Apostila PHP MySql

PHP & MySql 54

Projeto

Criaremos um site dinâmico utilizando a linguagem PHP e o

servidor de banco de dados MySQL. O objetivo desse site será a

localização de funcionários dos Telecentros. Fazendo-se uma busca

pelo nome do funcionário, serão disponibilizadas informações como:

cargo, telefone e e-mail. O site permitirá inclusão, consulta, alteração e

exclusão de dados.

1 - Criação da base de dados e tabelas

Utilizando o servidor de banco de dados MySQL, o primeiro

passo será definir a base de dados e as tabelas em que você guardará

as informações. Você pode criar a estrutura de dados diretamente no

MySQL, seguindo o roteiro abaixo:

Roteiro:

}

} else {

echo ("<BR><BR>");

echo ("<center> <b> Aluno n&atilde;o cadastrado </b>

</center>");

echo ("<BR><BR>");

echo ("<center> <b> <a href=\"exclusao.html\">

Voltar </a> </b> </center>");

}

?>

Page 61: Apostila PHP MySql

PHP & MySql 55

1. Abra o navegador de sua preferência.

2. Digite o endereço “http://localhost/phpmyadmin”. (pergunte ao

instrutor qual usuário e senha você deve utilizar).

3. Crie uma base de dados no MySQL, que conterá as tabelas a serem

utilizadas no projeto. Os passos são:

No campo “Criar nova base de dados” digite “telecentros” em seguida

clique em “Criar”. (Onde ''telecentros'' é o nome do banco de dados.)

Page 62: Apostila PHP MySql

PHP & MySql 56

4. Deverá aparecer a tela de confirmação.

Agora você já pode pensar nas tabelas que serão necessárias neste

projeto. Para facilitar, você irá utilizar uma única tabela, chamada

“alunos”.Coloque no campo “Nome” do item “Criar nova tabela na base

de dados telecentros”, “alunos” e no campo “Number of fields:” o

número “4” e clique em “Executa”.

Tipos de Campos

varchar(N) É um campo texto variável de no máximo N caracteres.

integer É um inteiro padrão.

char(N) É um campo texto com exatamente N caracteres.

text É um campo texto com no máximo 65535 caracteres.

date É um campo data no formato ''AAAA-MM-DD''.

Not null Significa que o campo não pode ser nulo.

Primary key Significa que é um campo chave.

Page 63: Apostila PHP MySql

PHP & MySql 57

- Insira as informações mostradas abaixo e clique em “Guarda”.

- Deverá aparecer a tela de confirmação contendo as

informações abaixo.

Page 64: Apostila PHP MySql

PHP & MySql 58

2 - Criação da home page do site

A página principal (homepage) do site será bastante simples e

trará um menu com as opções de inclusão, consulta, alteração e

exclusão. As opções terão links para seus respectivos módulos. Essa

página inicial terá a extensão .html e será criada utilizando-se o

BlueFish. O BlueFish é uma ferramenta entre outras de

desenvolvimento para Web.

Roteiro:

1. Pressione as teclas <Alt> + <F2>.

2. Digite: Bluefish. Veja a figura abaixo.

3. Clique no botão Executar. Será exibida a tela do Bluefish.

Page 65: Apostila PHP MySql

PHP & MySql 59

4. Clique no menu Arquivo.

5. Escolha a opção Novo.

Digite as seguintes opções de menu: Inclusão, Consulta,

Alteração, Exclusão e Sair. Transforme as opções do menu em links e

direcione para seus respectivos endereços:

inclusao.html, consulta.html, alteracao.html, exclusao.html, e

sair.html.

Salve a página como index.html no diretório indicado pelo instrutor.

Page 66: Apostila PHP MySql

PHP & MySql 60

3 - Módulo de Inclusão

Você irá criar a página para o formulário de inclusão. Você irá

digitar o código utilizando o Bluefish ou um editor de texto qualquer.

Esse arquivo terá extensão .html .

3.1) Formulário inclusao.html

Após digitar o código, salve-o e teste-o. Veja a figura abaixo:

Page 67: Apostila PHP MySql

PHP & MySql 61

Quando o formulário for submetido, dará um erro, alertando que

o programa inclusao.php, para o qual você está encaminhando os

dados não existe. Então, você precisa criá-lo. Observe que a próxima

página não terá mais a extensão html e sim php, pois o código vai

conter programação PHP.

Dica:

Quando o servidor recebe a requisição de uma página HTML, ele

apenas envia a página requisitada. Por outro lado, quando a requisição

é de uma página com extensão PHP, o servidor processa o código antes

de enviá-la. Pode-se combinar os códigos HTML e PHP.

3.2) Programa inclusão.php

O programa "inclusao.php" vai tratar os dados recebidos através

do formulário, incluindo-os no banco de dados.

Page 68: Apostila PHP MySql

PHP & MySql 62

Dicas: No código referente ao programa "inclusão.php", você utilizará

algumas funções do PHP:

Trim: retira os espaços em branco de uma variável.

A expressão or die pode ser usada como uma alternativa para o

if/else.

<?include ('conect.php');

$nome = $_POST['nome'];$email = $_POST['email'];$cargo = $_POST['cargo'];$telefone = $_POST['telefone'];

if ($res1){$sql = "insert into $table "." (nome, email, cargo,

telefone)"."values('$nome','$email','$cargo', '$telefone')";

$res2 = mysql_db_query($bdConect, $sql, $res1);if ($res2)

{echo("<BR><BR>");echo("<center><b><font size = 4>Inclus&atilde;o

Efetuada</font></b></center>");echo("<BR>");echo("<center><b> <a href=\"inclusao.html\">Voltar

</a></b></center>");}else

{echo("Erro de inclus&atilde;o ".mysql_error()."\n");echo("<center> <b> <a href=\"index.html\">Voltar</a>

</b></center>");}

Page 69: Apostila PHP MySql

PHP & MySql 63

3.3) Testando o módulo de inclusão

Roteiro:

1. Abra o navegador de sua preferência e digite o seguinte endereço do

site:

http://localhost/<endereço>/index.html

onde <endereço> será o local indicado pelo instrutor.

2. No menu da página principal, clique na opção Inclusão.

3. Deixe os campos do formulário em branco. Clique em Enviar. Deverá

mostrar uma mensagem de erro. O único campo que não é obrigatório

é o e-mail.

4. Preencha o formulário com os dados do funcionário: nome completo,

cargo, telefone e e-mail.

5. Clique em Enviar. Deverá mostrar a mensagem "Inclusão Efetuada".

6. Volte para a página do formulário e entre com outros dados, só que

}else

{echo("Erro de conex&atilde;o ".mysql_error()."\n");

}mysql_close($res1);?>

Page 70: Apostila PHP MySql

PHP & MySql 64

desta vez entre com um nome que já existe no banco de dados.

7. Clique em Enviar. Deverá mostrar a mensagem "Inclusão não

efetuada", pois o campo nome é chave e não aceita valores duplicados.

8. Insira 3 funcionários.

4 - Módulo de Consulta

Você irá criar a página com o formulário de consulta.Veja a figura

abaixo:

4.1)Formulário consulta.html

Quando o formulário for submetido, dará um erro, alertando que

o programa consulta.php, para o qual você está encaminhando os

Page 71: Apostila PHP MySql

PHP & MySql 65

dados não existe. Então, você precisa criá-lo.

4.2) Programa consulta.php

O programa consulta.php vai receber o nome do formulário,

pesquisar no banco de dados e mostrar as informações referentes ao

aluno.

Dicas:

No código referente ao programa consulta.php, você utilizará

mais algumas funções do PHP:

FILE: Lê um arquivo, retornando o seu conteúdo como um array. Cada

linha do arquivo será representada por um elemento do array.

IMPLODE: Armazena todo o conteúdo de um array como uma string,

concatena os conteúdos de cada elemento do array em uma string,

utilizando ou não um delimitador entre eles.

STR_REPLACE: Vai ler uma string e substituir um determinado valor

por outro. No nosso caso, essa função substituirá a expressão

"<!mensagem>", contida no código do "consulta.html", por uma

mensagem de erro. Portanto, não se esqueça de colocar no html

a expressão a ser substituída (como comentário).

mysql_num_rows: obtém o número de registros que retornou do

select.

mysql_fetch_row: obtém os campos do registro que retornou do select.

Page 72: Apostila PHP MySql

PHP & MySql 66

<?php include_once ('conect.php');?>

<html><head> <title>Consulta</title><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head><body bgcolor="#FFFFFF"><div id="conteudo"><div id="tudo">

<?$nome= $_POST['nome'];$declar = "SELECT * from $table WHERE nome = '$nome'";$res2 = mysql_db_query ($bdConect, $declar, $res1) or die ("Erro no acesso ao banco");$valor = mysql_fetch_array($res2);

if ($res1){

?><br><br><br><table width="650" border="0" cellspacing="0" align="center"><tr>

<td colspan="2"><img src="cabecalho.jpg" width="100%" height="100" border="0" alt="">

</td></tr>

<tr valign="top"><td><h3>Dados Pessoais</h3>Nome.: <?echo("$nome")?><br>Cargo.:<?=$valor["cargo"]?><br>Email.: <?=$valor["email"]?><br>Tel.: <?=$valor["telefone"]?>

</table>

Page 73: Apostila PHP MySql

PHP & MySql 67

4.3) Testando o módulo de consulta

Roteiro:

1. Abra o Mozilla e digite o seguinte endereço do site:

http://localhost/<endereço>/index.html

2. No menu da página principal, clique na opção Consulta.

3. Deixe o campo nome do aluno em branco e clique em Enviar. Deverá

aparecer uma mensagem de erro.

4. Preencha o formulário com um nome de aluno inexistente e clique

em enviar. Deverá aparecer a seguinte mensagem "Aluno não

cadastrado".

<center><a href="index.html">Voltar</a></center><?

}else

{echo("Aluno não encontrado");

}mysql_close($res1);

?></body></html>

Page 74: Apostila PHP MySql

PHP & MySql 68

5. Preencha o formulário com um nome de aluno válido e clique em

enviar. Deverá mostrar os dados do aluno. Veja a figura abaixo:

5 - Módulo de Exclusão

Você irá criar a página com o formulário de exclusão. Veja a figura

abaixo:

5.1) Formulário exclusao.html

Page 75: Apostila PHP MySql

PHP & MySql 69

Quando o formulário for submetido, dará um erro, alertando que

o programa exclusao.php, para o qual você está encaminhando os

dados, não existe. Então, você precisa criá-lo.

5.2) Programa exclusao.php

<?php include_once ('conect.php');?><html><head><title>Exclusao</title></head><body bgcolor="#FFFFFF">

Page 76: Apostila PHP MySql

PHP & MySql 70

<?php$nome = $_POST['nome'];$nome = trim($nome);

if (empty($nome)){

$html = file("exclusao.html");$html = implode(" ",$html);$erro = "<center><font color=\"#FF0000\"> Preencha o campo<b>Nome</b></font></center>";$html = str_replace("<!mensagem>",$erro,$html);echo ($html);

}else{

echo ("<p><center><img src=\"cabecalho.jpg\" width=\"745\" height=\"100\"></center></p>");

$declar = "SELECT nome from $table where nome = '$nome'";$query = mysql_db_query ($bdConect, $declar, $res1) or die ("Erro no acesso ao banco");$achou = mysql_num_rows($query);

if ($achou > 0){echo ("<BR><BR>");echo ("<center> Aluno: $nome </center>");echo ("<BR>");$declar2 = "DELETE from $table where nome =

'$nome'";if (mysql_db_query ($bdConect, $declar2, $res1))

{echo ("<BR><BR>");echo ("<center> <b> <font size = 4> Exclus&atilde;o

Efetuada</font></b></center>");echo ("<BR><BR>");echo ("<center> <b> <a

href=\"exclusao.html\">Voltar</a> </b> </center>");}

else{

Page 77: Apostila PHP MySql

PHP & MySql 71

5.3) Testando o módulo de exclusão

Roteiro:

1. Abra o navegador e digite o seguinte endereço do site:

http://localhost/<endereço>/index.html

2. No menu da página principal, clique na opção Exclusão.

3. Deixe o campo nome do aluno em branco e clique em Enviar. Deverá

aparecer uma mensagem de erro.

4. Preencha o formulário com o nome completo do aluno e clique em

Enviar. Deverá aparecer a mensagem "Exclusão efetuada".

echo ("<BR><BR>");echo ("<center><b><font size = 4> Erro na

Exclus&atilde;o n&atilde;o Efetuada</font></b></center>");

echo mysql_error();echo ("<BR><BR>");echo ("<center><b><a href=\"exclusao.html\">

Voltar</a></b></center>");}

}else

{echo ("<BR><BR>");echo ("<center><b>Aluno

cadastrado</b></center>");echo ("<BR><BR>");echo ("<center><b><a href=\"exclusao.html\">

Voltar</a></b></center>");}

mysql_close ($res1);}

?></body></html>

Page 78: Apostila PHP MySql

PHP & MySql 72

5. Preencha o formulário com o nome do aluno que você acabou de

excluir e clique em Enviar. Deverá mostrar a mensagem "Aluno não

cadastrado".

6 - Módulo de Alteração

6.1) Formulário alteracao.html

Você irá criar a página com o formulário de alteração.Veja a

figura abaixo:

Quando o formulário for submetido, dará um erro, alertando que

o programa "alteracao.php", para o qual você está encaminhando os

dados, não existe. Então, você precisa criá-lo.

Page 79: Apostila PHP MySql

PHP & MySql 73

6.2) Programa alteracao.php

O programa alteracao.php vai receber o dado do formulário,

recuperar as informações do banco de dados e mostrá-las num

formulário para que elas sejam alteradas. Para montar o formulário,

você criará uma função em PHP.

<?php include_once ('conect.php');?><html><head><title>Consulta</title><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head><body bgcolor="#FFFFFF">

<?$aluno = $_POST['aluno'];$declar = "SELECT * from $table WHERE nome = '$aluno'";$res2 = mysql_db_query ($bdConect, $declar, $res1) or die ("Erro no acesso ao banco");$valor = mysql_fetch_array($res2);

if ($res1){

?><br><br><br><table width="650" border="0" cellspacing="0" align="center"><tr>

<td colspan="2"><img src="cabecalho.jpg" width="100%" height="100" border="0" alt="">

</td></tr><tr valign="top"> <td><h3>Dados Pessoais</h3><form name="alunos" method="post" action="alteracao2.php">

Page 80: Apostila PHP MySql

PHP & MySql 74

6.3) Programa conect.php

O programa "conect.php" armazena todos os parâmetros de

conexão com o banco de dados. Nele, contém informações como:

usuário e senha do banco de dados, nome do banco e tabela a ser

utilizada em todos os scripts.

<input type="hidden" name="id_seq" value="<?=$valor["id"];?>">

<font size="2">Nome.: <input type="text" name="aluno" maxlength="50" size="50" value="<?=$valor["nome"]?>"><br> Email.: <input type="text" name="email" maxlength="45" size="45" value="<?=$valor["email"]?>" ><br> Cargo.:<input type="text" name="cargo" maxlength="20" value="<?=$valor["cargo"]?>"><br> Telefone.: <input type="text" name="telefone" maxlength="9" size="10" value="<?=$valor["telefone"]?>"><br><center><input type="submit" name="alterar" value="Alterar"></center>

</form></table>

<?}else

{echo("não encontrado");

}

mysql_close($res1);

?></body></html>

Page 81: Apostila PHP MySql

PHP & MySql 75

Observe que o programa alteracao.php chama o programa

alteracao2.php. Isso porque, para você completar o módulo de

alteração precisará de mais um programa que pegue as informações

que foram alteradas e as inclua no banco de dados.

Observação: Como o campo nome não é passado para o programa

alteracao2.php, por não se tratar de uma variável do formulário, temos

que passá-lo como um campo escondido input type="hidden".

6.4) Programa alteracao2.php

O programa "alteracao2.php" vai pegar as informações alteradas e

fazer um update (atualizar) no banco de dados.

<?$res1 = mysql_connect ("localhost", "php", "1234");$bdConect = "curso";$table = "tc_alexandre"?>

<?include ('conect.php');

$aluno = $_POST['aluno'];$cargo = $_POST['cargo'];$telefone = $_POST['telefone'];$email = $_POST['email'];

if ($res1){$sql = "update $table setnome = '$aluno',

Page 82: Apostila PHP MySql

PHP & MySql 76

cargo = '$cargo',telefone = '$telefone',email = '$email'";

$res2 = mysql_db_query($bdConect, $sql, $res1);

if ($res2){?>

<html><head><title>Alteracao</title><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head><body bgcolor="#FFFFFF"><?php

echo("<br><br><br><br><br>");echo("<center>O Aluno <b>" . $aluno ."</b><br>Foi

Alterado com sucesso! </center>");echo("<br><br>"); echo("<center><b><a href=\"index.html\">Voltar</a>

</b></center>");echo("<br><br><br>");

?><?php

}else{echo("Erro na alteração ".mysql_error()."\n");echo("<center><b><a href=\"index.html\">Voltar</a>

</b></center>");echo("<br><br><br>");}}else{echo("Erro na tentativa de conexão

".mysql_error()."\n");}mysql_close($res1);

?>

Page 83: Apostila PHP MySql

PHP & MySql 77

6.5) Testando o módulo de alteração

Roteiro:

1. Abra o navegador de sua preferência e digite o seguinte endereço do

site:

http://localhost/<endereço>/index.html

2. No menu da página principal, clique na opção Alteração.

3. Deixe o campo nome do aluno em branco e clique em Enviar. Deverá

aparecer uma mensagem de erro.

4. Preencha o formulário com um nome de aluno que não existe e

clique em Enviar. Deverá mostrar a mensagem "Aluno não cadastrado".

5. Preencha o formulário com um nome de aluno válido e clique em

Enviar. Será mostrado um formulário com os dados desse aluno.

6. Altere alguns campos e clique em Enviar. Deverá mostrar a

mensagem "Alteração efetuada".

7. Entre no módulo de consulta e confira se os dados foram realmente

alterados.

8 - Criação da página sair.html

A página sair.html é utilizada no nosso site apenas para agradecer

ao usuário por utilizar o sistema. Utilize o Quanta Plus para criar uma

página simples que agradece ao usuário pelo uso do sistema, e salve-a

com o nome de sair.html.

Page 84: Apostila PHP MySql

PHP & MySql 78

Respostas dos exercícios de lógica

1. Resposta: 9

2. Resposta: 28 dias.

3. Resposta: Pergunta: se eu perguntar ao seu colega, qual a

porta certa, qual é que ele me indica? Seja qual for o guarda

inquirido, ser-me-á respondido “ a porta errada”.

Suponhamos a que a porta certa é a “A”.

• Se eu perguntasse ao guarda verdadeiro, ele indicaria a

porta correta: “porta A”. Mas o mentiroso diria que o colega

me indicaria: “porta B”.

• Se eu perguntasse ao guarda mentiroso, ele diria a porta

errada: “porta B” e o guarda verdadeiro diria o que o colega

me indicaria: “porta B”.

4.

Page 85: Apostila PHP MySql

PHP & MySql 79

Plano de aula

1ª aula

- Apresentação da turma;

- Lógica de programação;

* Sequência lógica;

* Exercícios de lógica:

- Exercício retângulo;

- Exercício “lesma”;

- Exercício “O prisioneiro”;

- Exercício “Teste dos 4 pontos.

- PHP

* Definição de PHP;

* Em que consiste uma página dinâmica;

* Comunicação cliente x servidor;

* Delimitando o código PHP;

- Exercício 01

* Comentários no PHP;

- Exercício 02

2ª aula

- Variáveis (Definição)

- Exercício 03

* Tipos de dados suportados;

- Integer

- Double

Page 86: Apostila PHP MySql

PHP & MySql 80

- String

* Exercício 04;

* Exercício 05;

- Booleano

- Array

- Objeto

- Caractere de Escape

- Exercício 06

- Operadores

* Aritmético

* String

- Exercício 07

* Atribuição

- Exercício 08

* Incrementação

* Lógicos

* Comparação

3ª aula

- Integrando o PHP ao HTML

* Métodos GET e POST

- Exercício 09

- Estruturas de controle

* IF

- Exercício 10

Page 87: Apostila PHP MySql

PHP & MySql 81

* Else

- Exercício 11

* Elseif

- Exercício 12

4ª aula

- Laços

* While

- Exercício 13

* For

- Exercício 14

- Include

* Exercício 15

- Array

* Exercício 16

- Listas

- Exercício 17

5ª aula

- MySql – Banco de dados

- Popularização dos Bancos de Dados

- O que é um Sistema de Gerenciamento de Banco de Dados?

- PhpMyAdmin (Apresentação)

- MySql

- Como utilizar a SQL para manipular os bancos de dados

Page 88: Apostila PHP MySql

PHP & MySql 82

MySQL?

* Acesso ao Banco de dados via terminal (contruir o banco

conforme roteiro na página 42.

-Comandos SQL:

* Comando SHOW

* Comando USE

* Comando CREATE

*Comando INSERT

* Comando SELECT

* Comando DESCRIBE

* Comando DROP

* Comando DELETE

* Comando UPDATE

- Reteiro – Criação de Banco de Dados (Usando o terminal)

- Criar o mesmo Banco de Dados (Usando o PHPMyAdmin)

6ª aula

- Estabelecendo conexões entre PHP e MySql

- Selecionando a base de dados

- Realizando consultas

- Apagando resultados

- Número de linhas

- Utilizando os resultados

Page 89: Apostila PHP MySql

PHP & MySql 83

7ª aula

- Explicação de exercício preparatório para o projeto (CRUD)

- Elaboração do exercício - (CRUD)

8ª aula

- Projeto final: Desenvolvimento do tema (escolhido pela turma) para

elaboração do projeto.

- Elaboração do projeto

9ª aula

- Elaboração do projeto

10ª aula

- Finalização do projeto

Page 90: Apostila PHP MySql

PHP & MySql 84

Bibliografia

PHP – Programando com orientação a objetos; Novatec; Pablo

Dall'Oglio; 2007.

Curso de Aplicações Web em PHP; Maurício Vivas.

Sistema de Banco de Dados; Henry F. Korth, Abraham Silberschatz;

Makro Books; 1995.

www.php.net

www.mysql.com