• Nenhum resultado encontrado

Apostila PHP MySql

N/A
N/A
Protected

Academic year: 2021

Share "Apostila PHP MySql"

Copied!
90
0
0

Texto

(1)
(2)

VENDA PROIBIDA VENDA PROIBIDA

CID –

CID – COORDENADORIA COORDENADORIA DE DE INCLUSÃO INCLUSÃO DIGITALDIGITAL IDORT

IDORT – – INSTITUTO INSTITUTO DE DE ORGANIZAÇÃO ORGANIZAÇÃO RACIONAL RACIONAL DO DO TRABALHOTRABALHO EQUIPE

EQUIPE CAPACITAÇÃO CAPACITAÇÃO – – ÁREA ÁREA TÉCNICATÉCNICA

DOUGLAS DINIZ ALVES DOUGLAS DINIZ ALVES DANIEL PEREIRA MARTINS DANIEL PEREIRA MARTINS

PAULO JORDÃO DA SILVA BOCCATTO PAULO JORDÃO DA SILVA BOCCATTO

site: www.telecentros.sp.gov.br site: www.telecentros.sp.gov.br email: capacitatecnica@gmail.com email: capacitatecnica@gmail.com

(3)

Objet

Objetivo ivo ... 0101 Justi

Justificatificativa va ... 0101 Lógica

Lógica de de PrograProgramaçãmação ..o ... 0303 Seqü

Seqüência ência Lógica Lógica ... 0303 Exer

Exercícios cícios – L– Lógica ógica ... 0404 PHP – História ...

PHP – História ... 0505 O que é PHP? ...

O que é PHP? ... 0606 Em que c

Em que consiste onsiste uma páuma página dingina dinâmicaâmica? ...? ... 0707 Comun

Comunicaçãicação o Cliente Cliente x x ServiServidor dor ... 0707 Delim

Delimitanditando o códo o código PHigo PHP ....P ... 0808 Exer Exercício 01 cício 01 ... 0909 Comen Comentários tários no no PHP PHP ... 0909 Exer Exercício 02 cício 02 ... 1010 Vari Variáveis ...áveis ... 1111 Exer Exercício 03 cício 03 ... 1111 Tipos de Dad

Tipos de Dados Suportaos Suportados ...dos ... 1212 Intege

Integer r (Inteir(Inteiro) o) ... 1212 Doubl

Double (Dupe (Dupla Prela Precisão) cisão) ... 1313 Strin Strings gs ... 1313 Exer Exercício 04 cício 04 ... 1313 Exer Exercício 05 cício 05 ... 1414 Boole Booleano ano ... 1414 Arra Array y ... 1414 Objet Objeto ..o ... 1414 Cara

(4)

Aritm Aritméticos ...éticos ... 1616 Strin String ....g ... 1616 Exer Exercício 07 ...cício 07 ... 1616 Atrib Atribuição uição ... 1717 Exer Exercício 08 ...cício 08 ... 1717 Increm

Incrementaçentação ão ... 1818 Lógico Lógicos s ... 1919 Compa Comparação ração ... 1919 Integr Integrando ando o Po PHP HP ao ao HTML HTML ... 2020 Métod

Métodos os GET GET e e POST POST ... 2020 Exer

Exercício 09 ...cício 09 ... 2121 Estru

Estruturas turas de de ControlControle e ... 2121 If If ... 2121 Exer Exercício 10 ...cício 10 ... 2222 Else ... Else ... 2222 Exer Exercício 11 ...cício 11 ... 2222 Elsei Elseif ..f ... 2323 Exer Exercício 12 ...cício 12 ... 2323 Laço Laços s ... 2424 While ... While ... 2424 Exer Exercício 13 ...cício 13 ... 2424 For ... For ... 2525 Exer Exercício 14 ...cício 14 ... 2525 Includ Include e ... 2525 Exer Exercício 15 ...cício 15 ... 2626

(5)

Lista

Listas s ... 2727 Exer

Exercício 17 ...cício 17 ... 2828 MySq

MySql – l – Banco Banco de de Dados Dados ... 2929 Popula

Popularizaçãrização o dos dos Banco Banco de de Dados Dados ... 2929 O qu

O que é um e é um SistemSistema de Ga de Gerencerenciamentiamento de Bo de Banco anco de Dade Dados? dos? ... 3131 PHP

PHP MyAdMyAdmin min ... 3333 MySq

MySql ..l ... 3333 Com

Como utio utilizalizar o SQL pr o SQL para mara manianipulapular os bar os banconcos de ds de dados ados MySMySQL .QL . 3535 Coman

Comandos dos SQL SQL ... 3636 Coman

Comando SHOW ...do SHOW ... 3636 Coman

Comando USE ...do USE ... 3636 Coman

Comando CREATE ...do CREATE ... 3636 Coman

Comando Ido INSERT NSERT ... 3838 Coman

Comando SELdo SELECT ...ECT ... 3939 Coman

Comando do DESCRDESCRIBE IBE ... 4040 Coman

Comando DROP do DROP ... 4141 Coman

Comando DELEdo DELETE ...TE ... 4141 Coman

Comando do UPDATUPDATE E ... 4242 Rotei

Roteiro – ro – CriaçãCriação de o de B.D. B.D. ... 4343 Estab

Estabelecenelecendo do conexõeconexões es entre ntre PHP PHP e Me MySql ySql ... 4444 Sele

Selecionandcionando a base de do a base de dados ...ados ... 4545 Reali

Realizando consultzando consultas ...as ... 4646 Apag

Apagando ando resultaresultados dos ... 4646 Númer

Número de o de linhas linhas ... 4747 Utiliz

(6)

Respo

Respostas dstas dos exeos exercícios rcícios de lógide lógica ..ca ... 7878 Plano de a

Plano de aula ...ula ... 7979 Bibli

(7)

Objetivo Objetivo

Capacitar os colaboradores dos Telecentros com o objetivo de Capacitar os colaboradores dos Telecentros com o objetivo de criarem programas voltados à web para manipulação de páginas HTML, criarem programas voltados à web para manipulação de páginas HTML, co

como mo tatambmbém ém dedesesenvnvololvivimementnto o de de raraciciococínínio io lólógigico co e e nonoçõções es dede gerenciamento de banco de dados relacional.

(8)

Justificativa Justificativa

Atualmente, com o avanço tecnológico, necessitamos cada vez Atualmente, com o avanço tecnológico, necessitamos cada vez mais da automatização de sistemas para facilitarmos e agilizarmos mais da automatização de sistemas para facilitarmos e agilizarmos serviços, principalmente no que diz respeito à internet. Com o curso de serviços, principalmente no que diz respeito à internet. Com o curso de PHP & MySql poderemos integrar a linguagem de programação com o PHP & MySql poderemos integrar a linguagem de programação com o acesso online onde será possível um ótimo controle das informações acesso online onde será possível um ótimo controle das informações através de banco de dados.

(9)

Lógica de

Lógica de ProgramaçãoProgramação

O estudo da lógica é o estudo dos métodos e princípios usados 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 para distinguir o raciocínio correto do incorreto. Esta definição não quer di

dizezer r quque e sosomementnte e umuma a pepessssoa oa quque e tetenhnha a esestutudadado do lólógigica ca popossssaa raciocinar corretamente e encontrar soluções para diversos problemas. raciocinar corretamente e encontrar soluções para diversos problemas. A habilidade de resolver problemas é natural em todo ser humano.

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

Uma parte do estudo da lógica consiste no exame e na análise 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 dos métodos incorretos do raciocínio (falácias), isto nos dá uma visão ma

mais is prprofofununda da dodos s prprinincícípipios os do do raraciciococínínio io em em gegeraral l e e nonos s auauxixililiaa ta

tambmbém ém a a evevititá-á-lolos. s. PoPor r úlúltitimomo, , prpropopororcicionona a ao ao esestutudadantnte e cecertrtasas técnicas e métodos de fácil aplicação para determinar a correção ou 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 incorreção de todos os raciocínios. O valor deste conhecimento reside no fato de ser menor a possibilidade de se cometer erros, quando é no fato de ser menor a possibilidade de se cometer erros, quando é possível localizá-los mais facilmente.

possível localizá-los mais facilmente. Ló

Lógigica ca vvem em de de “l“logogosos” ” qque ue sisiggninifificca a papalalavvrara, , exexppreressssãão,o, conceito, pensamento, discurso, razão.

conceito, pensamento, discurso, razão.

Seqüência Lógica Seqüência Lógica

Estes pensamentos podem ser descritos como uma seqüência Estes pensamentos podem ser descritos como uma seqüência de instruções que devem ser seguidas para cumprir uma determinada de instruções que devem ser seguidas para cumprir uma determinada tarefa, portanto, seqüência lógica são passos executados até atingir um tarefa, portanto, seqüência lógica são passos executados até atingir um objetivo ou solução de um problema.

(10)

Exercícios - Lógica Exercícios - Lógica

1)

1) QuaQuantontos rets retângânguloulos exis existestem na fm na figuigura abra abaixaixo:o:

2.

2. Uma Uma leslesma esma está num tá num poçpoço de 30m do de 30m de proe profunfundidadidade. A cde. A cada dada diaia ela sobe 3m e escorrega 2m. Em quantos dias sairá do poço? ela sobe 3m e escorrega 2m. Em quantos dias sairá do poço? 3

3)) O PO PRRIISSIIOONENEIIRROO

No antigo Egito, havia um prisioneiro em uma cela com duas 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 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 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 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 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 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 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 prisioneiro deveria fazer a um dos guardas ao acaso, para saber qual a porta certa?

porta certa? 4)

4) Una esUna estes qutes quatratro ponto pontos apeos apenas cnas com trêom três retas retas, sem les, sem levavantantar ar a po

ponntta a ddo o llááppis is oou u dda a ccaanneetta a e e aaccaababannddo o nno o ppononto to oondndee começou.

(11)

PHP - História PHP - História

A linguagem de programação PHP foi criada no outono de 1994 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 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 voltados à criação de páginas dinâmicas que Rasmus utilizava para monitorar o acesso ao seu currículo na internet. À medida que essa monitorar o acesso ao seu currículo na internet. À medida que essa ferramenta foi crescendo em funcionalidades, Rasmus teve de escrever ferramenta foi crescendo em funcionalidades, Rasmus teve de escrever uma implementação em C, a qual permitia às pessoas desenvolverem uma implementação em C, a qual permitia às pessoas desenvolverem de forma

de forma muito simples as suas muito simples as suas aplicaplicações para web. ações para web. RasmuRasmus s nomeounomeou essa versão de PHP/FI (Personal Home Page / Forms Intepreter) e essa versão de PHP/FI (Personal Home Page / Forms Intepreter) e decidiu disponibilizar seu código na web, em 1995, para compartilhar decidiu disponibilizar seu código na web, em 1995, para compartilhar com outras pessoas, bem como receber ajuda e correção de bugs.

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. Em novembro de 1997 foi lançada a segunda versão do PHP. Na

Naququelele e momomementnto, o, apaproroxiximamadadamementnte e 50 50 mimil l dodomímíninios os ou ou 1% 1% dada internet já utilizava PHP. No mesmo ano Andi Gutmans e Zeev Suraski, internet já utilizava PHP. No mesmo ano Andi Gutmans e Zeev Suraski, do

dois is esestutudadantnte e quque e ututililizizavavam am PHPHP P em em um um prprojojeteto o acacadadêmêmicico o dede comér

comércio cio eletrôneletrônico, ico, resolresolveram cooperar com veram cooperar com RasmuRasmus s para aprimorapara aprimorarr o PHP. Para tanto, reescreveram todo o código-fonte, com base no 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 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 de 1998. Dentre as principais características do PHP 3 estavam e ex

extentensisibilbilididadade, e, a a popossssibiibililidadade de de de coconenexãxão o com com váváriorios s babancncos os dede da

dadosdos, , novnovos os prprotootococololos, s, umuma a sisintantaxe xe mamais is conconsissistetentnte, e, susupoportrte e àà orientação a objetos e uma nova API, que possibilitava a criação de 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. 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 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 domínios na internet. Nessa época o significado da sigla PHP mudou

(12)

para PHP: Hypertext Processor, retratando assim a nova realidade de para PHP: Hypertext Processor, retratando assim a nova realidade de uma linguagem com propósitos mais amplos.

uma linguagem com propósitos mais amplos.

No inverno de 1998, após o lançamento do PHP 3, Zeev e Andi 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 começaram a trabalhar em uma reescrita do núcleo do PHP, tendo em vi

viststa a memelhlhoorarar r susua a peperfrforormmanancce e e e mmododululararididadade e em em apaplilicacaçõçõeses complexas. Para tanto, resolveram batizar este núcleo de Zend Engine, complexas. Para tanto, resolveram batizar este núcleo de Zend Engine, oou u mmeeccaanniissmmo o ZZeennd d ((ZZeeeev v + + AAnnddii)). . O O PPHHP P 44, , bbaasseeaaddo o nneessttee me

mecacaninismsmo, o, fofoi i lalançnçadado o ofoficiciaialmlmenente te em em mamaio io de de 20200000, , trtrazazenendodo muitas melhorias e recursos novos, como seções, suporte a diversos muitas melhorias e recursos novos, como seções, suporte a diversos servidores web, além da abstração de sua API, permitindo inclusive ser servidores web, além da abstração de sua API, permitindo inclusive ser utilizado com linguagem para shell script. Nesse momento, o PHP já 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 estava presente em cerca de 20% dos domínios da internet, além de ser utilizado por milhares de desenvolvedores ao redor do mundo.

ser utilizado por milhares de desenvolvedores ao redor do mundo.

Apesar de todos os esforços, o PHP ainda necessitava maior Apesar de todos os esforços, o PHP ainda necessitava maior suporte à orientação a objetos, tal qual existe em linguagens como 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 C++ e Java. Tais recursos estão finalmente presentes no PHP 5, após um

um lloonnggo o ppererííooddo o dde e ddeessenenvvoollvvimimeentnto o quque e ccululmmiinnou ou ccom om ssuuaa disponibilização oficial em junho de 2004.

disponibilização oficial em junho de 2004.

O que é PHP? O que é PHP?

PHP - Hypertext Processor – É uma linguagem de programação PHP - Hypertext Processor – É uma linguagem de programação de código aberto muito utilizada, onde sua principal função é a de de código aberto muito utilizada, onde sua principal função é a de cr

criaiaçãção o dde e scscriripptsts, , quque e sãsão o eexexecucutatadodos s no no sserervividodor r wweb eb papara ra aa manipulação de página HTML, ou seja, utiliza-se PHP para criar páginas manipulação de página HTML, ou seja, utiliza-se PHP para criar páginas di

(13)

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

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

En

Entetendnde-e-se se popor r umuma a pápágigina na didinânâmimicaca, , totoda da a a pápágigina na quque e éé gerada quando existe um pedido no servidor, ou seja, 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 chega ao utilizador não existe “escrita” no servidor. Existem sim os con

conteúteúdodos, s, quque e seserãrão o dedepopois is cocoloclocadados os nonos s rerespspectectivivos os loclocaiais, s, nana página, consoante os pedidos. O melhor exemplo de um site dinâmico página, consoante os pedidos. O melhor exemplo de um site dinâmico é um motor de pesquisa. É impossível - e impensável - armazenar é um motor de pesquisa. É impossível - e impensável - armazenar to

todadas s as as cocombmbininaçaçõeões s de de pápágiginanas s quque e susurgrgemem, , ququanando do fafazezemomoss diversas pesquisas. Quer isto dizer, que as páginas não existem e são 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   “geradas” com informações que estão em bases de dados, quando

fazemos um pedido sobre qualquer coisa. fazemos um pedido sobre qualquer coisa.

Comunicação Cliente x Servidor Comunicação Cliente x Servidor

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

págigina na na na ininteternrnet et o o qque ue aacocontnteece ce é é umuma a rreqequiuisisiçção ão ddo o clclieientntee (navegador) ao servidor web. O servidor processa essa requisição e (navegador) ao servidor web. O servidor processa essa requisição e retorna uma resposta ao cliente, que por sua vez, interpreta o código retorna uma resposta ao cliente, que por sua vez, interpreta o código rreettoorrnnaaddo o e e ffoorrmmaatta a a a ppáággiinna a ppaarra a a a ssuua a vviissuuaalliizzaaççããoo. . EEssssee procedimento acontece em todas as requisições feitas pelo navegador. procedimento acontece em todas as requisições feitas pelo navegador.

Portanto, programar para a web pode ser considerado como um Portanto, programar para a web pode ser considerado como um  jogo que consiste em receber os dados do usuário, processá-lo e enviar  jogo que consiste em receber os dados do usuário, processá-lo e enviar

a

a rerespspososta ta didinânâmimicaca. . UmUma a vevez z enenviviadada a a a rerespspososta ta é é enencecerrrradado o oo contato entre o servidor e o cliente.

(14)

Visualização: Visualização:

Delimitando o código PHP Delimitando o código PHP

O código PHP fica embutido no próprio HTML. O interpretador O código PHP fica embutido no próprio HTML. O interpretador identifica quando um código é PHP pelas seguintes tags:

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

 <?php  <?php comandos comandos ?>  ?>   <?  <? comandos comandos ?>  ?>   <%  <% comandos comandos %>  %>  Nota:

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

php.ini. php.ini.

Tudo que estiver delimitado por <? e ?> / <?php e ?> / <% e Tudo que estiver delimitado por <? e ?> / <?php e ?> / <% e %> será processado no servidor. O navegador cliente receberá apenas %> será processado no servidor. O navegador cliente receberá apenas o resultado do processamento.

o resultado do processamento.

C

(15)

Nota:

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

O CCAARRACACTTEERRE E “;“;” ” ((popontnto o e e vivirrgguulala)). . EEsstte e ccaarraaccteterre e ininddicica a aaoo interpretador quando acaba uma instrução, e quando ele deve de interpretador quando acaba uma instrução, e quando ele deve de esperar outra instrução. A exceção deste caso é quando um bloco 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 código PHP só contem uma única instrução, podendo, assim incluir ou não o ';' . não o ';' . Exercício 01 Exercício 01 <?php <?php

echo “Olá Mundo”; echo “Olá Mundo”; ?> ?> Resultado: Resultado: Olá Mundo Olá Mundo Comentários no PHP Comentários no PHP

Com a idéia de organizar o programa para fácil visualização Com a idéia de organizar o programa para fácil visualização podemos inserir COMENTÁRIOS. Em HTML utilizamos os delimitadores podemos inserir COMENTÁRIOS. Em HTML utilizamos os delimitadores <!-- e -->,

<!-- e -->, em PHP também é em PHP também é possívpossível comentar parteel comentar partes de s de um código.um código. Para tal, quando se quer comentar uma única linha, utilizamos os Para tal, quando se quer comentar uma única linha, utilizamos os caracteres “//” para comentar a linha que não será processada. Para caracteres “//” para comentar a linha que não será processada. Para um bloco de linhas, utilizamos os separadores “/*” no inicio do bloco, e um bloco de linhas, utilizamos os separadores “/*” no inicio do bloco, e  “*/” para fechar o comentário.

(16)

Exemplo: Exemplo:

<?php <?php

// Uma linha de

// Uma linha de comentário.comentário. /* /* Um Simples Um Simples bloco de bloco de comentário !!! comentário !!! */ */ ?> ?> Exercício 02 Exercício 02

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

Utilize um editor de texto puro (como o gedit) ou editor web Utilize um editor de texto puro (como o gedit) ou editor web (como o BlueFish), para digitar e

(como o BlueFish), para digitar e testar o código abaixo. Salve na pastatestar o código abaixo. Salve na pasta indicada pelo seu instrutor com o nome de “ecoando.php”, abra um indicada pelo seu instrutor com o nome de “ecoando.php”, abra um navegador e digite o endereço:

navegador e digite o endereço: http://localhost/

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

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

instrutor.

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

<?

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

<b>PHP</b>.”; ?>

(17)

Variáveis Variáveis

Variáveis são identificadores utilizados para representar valores Variáveis são identificadores utilizados para representar valores mutáveis e voláteis, que só existem durante a execução do programa. 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 Ela são armazenadas na memória RAM e seu conteúdo é distribuído ap

após ós a a exexececuçução ão do do prprogograramama. . PaPara ra crcriaiar r umuma a vavaririávável el em em PHPHP,P, precisamos atribuir-lhe um nome de identificação, sempre procedido precisamos atribuir-lhe um nome de identificação, sempre procedido pelo caractere $ (cifrão). Veja os exemplos a seguir:

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

Exercício 03 Exercício 03 <?php <?php $nome=“João”; $nome=“João”; $sobrenome=“de Souza”; $sobrenome=“de Souza”; echo “$sobrenome, $nome”; echo “$sobrenome, $nome”; ?> ?> Resultado: Resultado: de Souza, João de Souza, João <br> <br>

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

complexa</font>... <br> <?

<?

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

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

(18)

Dicas: Dicas:

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

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

variável; variável;

 NuNuncnca a ututililizize e cacararactctereres es esespepeciciaiais: s: (!(!@#@#%%^&^&*/*/|[|[]{]{}) }) nana

nomenclatura das variáveis; nomenclatura das variáveis;

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

clareza do código fonte; clareza do código fonte;

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

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

inserida;

 UtiUtilize lize prepreferferencencialialmenmente te palpalavravras as em em minminúscúsculo ulo (se(separparadaadass

pe

pello o ccaarraaccteterre e ““_”_”) ) oou u ssoommeenntte e aas s pprriimmeieirraas s lletetrraas s eemm maiúsculo quando houver mais palavras.

maiúsculo quando houver mais palavras.

<?php <?php

$codigo_cliente //exemplo de variável $codigo_cliente //exemplo de variável $codigoCliente //exemplo de variável $codigoCliente //exemplo de variável ?>

?>

Tipos de Dados Suportados Tipos de Dados Suportados Integer (Inteiro)

Integer (Inteiro)

É

É ututililizaizado do papara ra númnúmereros os ininteteiriros. os. VeVeja ja cocomo mo dedeclaclararar r umumaa variável do tipo inteiro:

variável do tipo inteiro:

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

(19)

Double (Dupla Precisão) Double (Dupla Precisão)

É utilizado para números reais, podendo fazer cálculos com É utilizado para números reais, podendo fazer cálculos com grande precisão. Veja os exemplos

grande precisão. Veja os exemplos abaixo:abaixo:

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

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

Strings Strings

É utilizado para strings de caracteres. As strings podem ser É utilizado para strings de caracteres. As strings podem ser delimitadas de duas maneiras:

delimitadas de duas maneiras:

 

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

serão resolvidas. serão resolvidas. Exercício 04 Exercício 04 <?php <?php $teste = “Linux”; $teste = “Linux”; $php= “--- $teste --- \n”; $php= “--- $teste --- \n”; echo $php; echo $php; ?> ?> Resultado: Resultado: Linux Linux --- 

  CCoom m o o uusso o dde e aappóóssttrrofofos os ((' ' '')), , a a sstrtrining g peperrmmaanenecce e ccomomoo

aparece, sem substituições. aparece, sem substituições.

(20)

Exercício 05 Exercício 05 <?php <?php $teste = “Linux”; $teste = “Linux”; $php= '--- $teste --- \n'; $php= '--- $teste --- \n'; echo $php; echo $php; ?> ?> Resultado: Resultado: --- $teste ---\n --- $teste ---\n Booleano Booleano

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

Array Array

É utilizado para armazenar vários itens de dados do mesmo tipo É utilizado para armazenar vários itens de dados do mesmo tipo em uma única variável.

em uma única variável.

Objeto Objeto

É utilizado para armazenar instâncias de classes. É utilizado para armazenar instâncias de classes.

Caracteres de Escape Caracteres de Escape

Os caracteres de escape começam com uma barra invertida (\) Os caracteres de escape começam com uma barra invertida (\) e são colocados dentro das strings. Internamente eles são substituídos e são colocados dentro das strings. Internamente eles são substituídos pelos caracteres reais e pelas ações que esses caracteres simbolizam. pelos caracteres reais e pelas ações que esses caracteres simbolizam.

(21)

\n

\n NoNova va lilinhnha. a. DeDescsce pe parara a a a lilinhnha da de be baiaixoxo.. \r

\r ReRetotornrno de cao de carrrro (so (sememelelhahantnte a \ne a \n). C). Cololococa o cua o cursrsor nor no coo comemeçoço da linha.

da linha. \t

\t TaTabubulalaçãção ho hororizoizontntal. al. PuPula la papara ra a a prpróxóximima a tatabubulalaçãção.o. \\

\\ BaBarrrra ia invnverertidtida. a. SuSubsbstittitui ui popor ur uma ma barbarra ra invinverertidtida.a. \$

\$ CiCifrfrãão. o. SuSubbststititui ui popor ur um cm cififrãrãoo.. \”

\” AAssppaass. . SSuubbssttiitutui i popor r aasspapass..

Exercício 06 Exercício 06

No exercício abaixo é mostrada a forma como o PHP utiliza No exercício abaixo é mostrada a forma como o PHP utiliza variáveis.

variáveis.

Utilizando um editor de texto puro (como o gedit) ou editor web Utilizando um editor de texto puro (como o gedit) ou editor web (como o BlueFish), salve o arquivo na pasta indicada pelo seu instrutor (como o BlueFish), salve o arquivo na pasta indicada pelo seu instrutor co

com m o o nonomme e dde e “v“vaaririavaveieiss.p.phhp”p”, , ababra ra um um nanavevegagadodor r e e didigigite te oo endereço http://localhost/<endereço>/variaveis.php

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

Exemplo de utilização de variáveis: <br><br> Exemplo de utilização de variáveis: <br><br> <?php <?php $inteiro=10; $inteiro=10; $real=20.0; $real=20.0; $caracter= 'V'; $caracter= 'V'; $cor1= "#FF0000"; $cor1= "#FF0000"; $cor2= "#0000FF"; $cor2= "#0000FF"; ?> ?>

<font color= <? echo $cor1?>> A variável $inteiro tem o <font color= <? echo $cor1?>> A variável $inteiro tem o valor <? echo $inteiro ?>. </font> <br>

valor <? echo $inteiro ?>. </font> <br>

<font color= <? echo $cor2 ?>> A variável $real tem o <font color= <? echo $cor2 ?>> A variável $real tem o valor <? echo $real ?> </font> <br>

valor <? echo $real ?> </font> <br>

<font color= <? echo $cor1 ?>> O caractere escolhido e o <font color= <? echo $cor1 ?>> O caractere escolhido e o <? echo $caracter ?>

<? echo $caracter ?> </font>

(22)

Operadores Operadores Aritméticos Aritméticos

O PHP possui todos os operadores aritméticos. Os principais O PHP possui todos os operadores aritméticos. Os principais são: são: + + AAddiiççããoo -- SSuubbttrraaççããoo * * MMuullttiipplliiccaaççããoo // DDiivviissããoo % % RReesstto o dda a ddiivviissããoo String String

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

O PHP possui um único operador de string, que é o operadoperador deor de concatenação

concatenação “.” “.” . . Veja Veja o exemo exemplo abaplo abaixo:ixo:

Exercício 07 Exercício 07 <?php <?php $x=“Alô ”; $x=“Alô ”; $s=$x.“Mundo”; $s=$x.“Mundo”; echo($s.“\n”); echo($s.“\n”); ?> ?> Resultado: Resultado: Alô Mundo Alô Mundo

(23)

Atribuição Atribuição

O

O únúnicico o opopereradador or de de atatriribubuiçição ão do do PHPHP P é é o o “=“=”. ”. EsEstete,, combin

combinado com os ado com os operaoperadores aridores aritmétictméticos e de strinos e de string, pode reg, pode reduzir oduzir o tamanho do código.

tamanho do código. =

= AAttrriibbuuiiççãão o ssiimmpplleess.. +

+== AAttrriibbuuiiççãão o ccoom m aaddiiççããoo.. --== AAttrriibbuuiiççãão o ccoom m ssuubbttrraaççããoo.. *

*== AAttrriibbuuiiççãão o ccoom m MMuullttiipplliiccaaççããoo.. //== AAttrriibbuuiiççãão o ccoom m ddiivviissããoo..

%

%== AAttrriibbuuiiççãão o ccoom m mmóódduulloo..

..== AAttrriibbuuiiççãão o ccoom m ccoonnccaatteennaaççããoo..

Veja o exemplo abaixo. Veja o exemplo abaixo.

Exercício 08 Exercício 08 <?php <?php $curso = 7; $curso = 7; $curso += 2; $curso += 2; echo $curso; echo $curso; ?> ?> Resultado: Resultado: 9 9

(24)

Veja outro exemplo utilizando a atribuição com módulo (resto de Veja outro exemplo utilizando a atribuição com módulo (resto de divisão): divisão): <?php <?php $resto = 11; $resto = 11; $resto %= 2; $resto %= 2; echo $resto; echo $resto; ?> ?> Resultado: Resultado: 1 1

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

11.

A

A ooppeerraaççãão o ““$$rreesstto o %%==22;;” ” é é eeqquuiivvaalleenntte e à à ooppeerraaççããoo   “$resto=$resto%2;”, isto é, as duas calculam o resto da divisão da   “$resto=$resto%2;”, isto é, as duas calculam o resto da divisão da

variável $resto por 2. variável $resto por 2.

Incrementação

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

da variável. O incremento de uma variável soma 1 unidade à uma 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 e armazena o resultado na mesma. O decremento subtraí uma variável em 1 unidade. Quando utilizado antes, retorna o valor da variável em 1 unidade. Quando utilizado antes, retorna o valor da variável antes de incrementá-la ou decrementá-la. Quando utilizado variável antes de incrementá-la ou decrementá-la. Quando utilizado depois, retorna o valor da variável já incrementado ou decrementado. depois, retorna o valor da variável já incrementado ou decrementado. ++ Incremento

++ Incremento - - Decremento - - Decremento

(25)

Exemplos: Exemplos:

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

$c=$a++; // $c recebe 10 e $a passa a ter 11 $c=$a++; // $c recebe 10 e $a passa a ter 11 $d=++$b; // $d recebe 11, valor de $b

$d=++$b; // $d recebe 11, valor de $b já incrementadojá incrementado $d++; // $d recebe + 1 unidade e passa a valer 12

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

Lógicos Lógicos

Os

Os opopereradadoreores s lóglógicoicos s trtrababalalhaham m cocom m os os vavaloloreres s cocompmpleletostos,, utilizando TRUE ou FALSE.

utilizando TRUE ou FALSE.

O

Oppeerraaddoorr SSiiggnniiffiiccaaddoo EExxeemmpplloo

aanndd ““ee” ” llóóggiiccoo $$a a aannd d $$bb oorr ““oouu” ” llóóggiiccoo $$a a oor r $$bb !! NNãão o ((iinnvveerrssããoo)) !!$$bb &

&&& ““ee” ” llóóggiiccoo $$a a &&& & $$bb |||| ““oouu” ” llóóggiiccoo $$a a ||| | $$bb

Comparação Comparação

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

valores.

=

=== iigguuaal l aa

!!== DDiiffeerreenntte e ddee <

<>> DDiiffeerreenntte e ddee <

< mmeennoor r qquuee >

> mmaaiioor r qquuee <

<== mmeennoor r oou u iigguuaal l aa >

(26)

Integrando o PHP ao HTML Integrando o PHP ao HTML

Nesta seção, vamos criar uma página dinâmica para processar Nesta seção, vamos criar uma página dinâmica para processar os dados enviados pelo formulário.

os dados enviados pelo formulário. O

Os s vavaloloreres s ddos os ccamampopos s ppasassasadodos s pepelolos s foforrmumuláláririoos s fificacamm armazenados nos vetores $_POST e $_GET conforme o método de armazenados nos vetores $_POST e $_GET conforme o método de envio.

envio.

Métodos GET e POST Métodos GET e POST

O GET é um método do HTTP destinado a enviar dados do O GET é um método do HTTP destinado a enviar dados do cliente para o servidor. É acionado por meio de um formulário HTML cliente para o servidor. É acionado por meio de um formulário HTML através da diretiva

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

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

dados é separadparado do endereo do endereço URL quço URL que chama a e chama a CGI atravCGI através de umés de um ponto de interrogação (?). Esta forma de endereçamento e separação 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. 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

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

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

lor2.

O POST é outro método do HTTP similar ao GET, porém é O POST é outro método do HTTP similar ao GET, porém é acionado por meio da diretiva

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

que e oos s dadadodos s do do fforormumuláláririo o sesejjam am didireretatammenente te trtrananssmimititiddos os aoao endereço que constar da diretiva

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

Ao escrevermos nossos scripts, devemos sempre lembrar qual Ao escrevermos nossos scripts, devemos sempre lembrar qual método estamos usando a fim de determinarmos se iremos ler os método estamos usando a fim de determinarmos se iremos ler os dados do vetor $_POST ou $_GET.

(27)

Dica:

Dica: SeSempmpre re quque e pospossísívelvel, , dedeve-ve-se se utiutilizlizar ar o o mémétotodo do POPOSTST, , popoisis através do método GET os dados enviados ficam mais expostos através 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.

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

Exercício 09 Exercício 09

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

endereço http://localhost/http://localhost/<<eenndederreçeçoo>>//ffoormrmululaarriioo..pphhp p nno o sseueu navegador para testá-lo.

navegador para testá-lo.

Estruturas de Controle Estruturas de Controle If 

If 

O comando if testa a condição passada e executa o bloco de 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 código caso o valor retornado da condição seja verdadeiro. Veja o exemplo a seguir:

exemplo a seguir:

<?php <?php

$nome = $_POST['nome'];/*atribuindo o valor do formulário $nome = $_POST['nome'];/*atribuindo o valor do formulário na variável $nome. */

na variável $nome. */

echo “O meu nome é: ” . $nome; echo “O meu nome é: ” . $nome; ?>

?>

<form method=“POST” action=“formulario.php”> <form method=“POST” action=“formulario.php”>

Digite seu Nome:<input type=“text” name=“nome” value=“”> Digite seu Nome:<input type=“text” name=“nome” value=“”> <input type=“submit” value=“Enviar”>

<input type=“submit” value=“Enviar”> </form>

(28)

Exercício 10 Exercício 10 Resultado: Resultado: Não é igual Não é igual Else Else C

Caasso o a a cconondidiççãão o papassssaadda a rreetotorrnne e uum m vvaallor or ffaalslsoo, , e e sseejaja necessário executar um bloco de código diferente, utiliza-se a instrução necessário executar um bloco de código diferente, utiliza-se a instrução else. Veja o exemplo a seguir:

else. Veja o exemplo a seguir:

Exercício 11 Exercício 11 <?php <?php $a = 1; $a = 1; if ($a == 5) if ($a == 5) { { echo “é igual”; echo “é igual”; } } else else { {

echo “não é igual”; echo “não é igual”; } } ?> ?> <?php <?php $a = 1; $a = 1; $b = 2; $b = 2; if ($a > $b) if ($a > $b) { { echo “$a > $b”; echo “$a > $b”; } }

(29)

Resultado: Resultado: 2 > 1 2 > 1 ElseIf  ElseIf 

Ainda existe a instrução elseif, para situações onde precisa-se Ainda existe a instrução elseif, para situações onde precisa-se verificar mais que uma condição. Veja o exemplo a seguir:

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

Exercício 12 Exercício 12 else else { { echo “$b > $a”; echo “$b > $a”; } } ?> ?> <?php <?php $a=1; $a=1; $b=2; $b=2; $c=3; $c=3; i if f (($$a a > > $$bb)) {{

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

} e

ellsseeiif f (($$a a > > $$cc)) {{

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

} e

ellssee {{

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

} ?>

(30)

Resultado: Resultado: 1 é menor que 2 e 3 1 é menor que 2 e 3 Laços Laços While While Es

Este te cocomamandndo o é é ututililizizadado o papara ra rerealalizizar ar lalaçoços s de de rerepepetitiçõçõeses co

condndicicioionanaisis. . ElEle e exexececututa a o o blblococo o de de cócódidigo go enenququananto to a a cocondndiçiçãoão passada for verdadeira, e caso a condição inicial que foi passada se passada for verdadeira, e caso a condição inicial que foi passada se torne f

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

Exercício 13 Exercício 13 Resultado: Resultado: Exemplo de While Exemplo de While 1234 1234 <?php <?php

echo “Exemplo de While”.“<br>”; echo “Exemplo de While”.“<br>”; $a=1; $a=1; while ($a<5) while ($a<5) { { echo $a; echo $a; $a++; $a++; } } ?> ?>

(31)

For For

Como nos outros comandos que realizam laços condicionais, o Como nos outros comandos que realizam laços condicionais, o comando for também precisa de uma condição para ser testada a cada comando for também precisa de uma condição para ser testada a cada llaaçço o rreeaalliizzaaddoo, , ppoorréémm, , eesstte e ccoommaannddo o nneecceessssiitta a dde e mmaaiis s ddooiiss pa

parârâmemetrtrosos, , quque e seseririam am a a dedeclclararaçação ão da da vavaririávável el cocontntadadorora a e e aa instrução de incremento. Veja o exemplo abaixo:

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

Exercício 14 Exercício 14 Resultado: Resultado: Exemplo de For Exemplo de For 12345678910 12345678910 Include Include

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

sem m cócódidigo go em em PHPHP, P, susubsbstititutuinindo do pepelo lo nonovo vo cócódidigogo. . O O cócódidigo go dodo ar

arququivivo o ininclcluíuído do é é prproceocessssadado o em em tetempmpo o de de exexececuçuçãoão, , pepermrmitiitindondo assim

assim, que , que sejam sejam usados “iusados “includencludes” dentro ds” dentro de estruture estruturas de contras de controleole como for e while. Veja o exemplo a seguir:

como for e while. Veja o exemplo a seguir:

<?php <?php

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

for ($i=1; $i<=10; $i++) { { echo $i; echo $i; } } ?> ?>

(32)

Exercício 15 Exercício 15 Programa: teste.php Programa: teste.php Programa: externo.php Programa: externo.php

O programa com o comando include ficaria da seguinte forma: O programa com o comando include ficaria da seguinte forma:

<?php <?php

echo “Teste A”; echo “Teste A”; echo “Teste B”; echo “Teste B”; echo “Teste C”; echo “Teste C”; echo “Teste D”; echo “Teste D”; ?> ?> O comando

O comando includeinclude é muito utilizado quando você quer definiré muito utilizado quando você quer definir

funções ou variáveis que serão utilizadas com freqüência em várias funções ou variáveis que serão utilizadas com freqüência em várias páginas de um site.

páginas de um site.

<?php <?php

echo “Teste A”.“<br>”; echo “Teste A”.“<br>”; echo “Teste B”.“<br>”; echo “Teste B”.“<br>”; include “externo.php”; include “externo.php”; echo “Teste D”.“<br>”; echo “Teste D”.“<br>”; ?> ?> <?php <?php echo “Teste C”.“<br>”; echo “Teste C”.“<br>”; ?> ?>

(33)

Array Array

É um tipo de variável que possui seu conteúdo agrupado por É 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 í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 qualquer tipo suportado pelo PHP. Pode-se criar um array usando as funçõe

funções s list() ou list() ou arraarray(), ou y(), ou pode-pode-se atribuir explicitamse atribuir explicitamente o ente o valor devalor de cada elemento. Também é possível criar uma array, simplesmente cada elemento. Também é possível criar uma array, simplesmente adicionando-se valores ao array. Veja o

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

Exercício 16 Exercício 16

Listas Listas

As listas são utilizadas em PHP para realizar várias atribuições, 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 como por exemplo, atribuir valores de uma array para variáveis, como mostra o exemplo a seguir:

mostra o exemplo a seguir:

<?php <?php

list($a, $b, $c) = array(0 => “abacaxi”, 1 => “pera”, 2 => list($a, $b, $c) = array(0 => “abacaxi”, 1 => “pera”, 2 => “laranja”); “laranja”); ?> ?> <?php <?php $array[0] = "Curso"; $array[0] = "Curso"; $array[1] = "HP"; $array[1] = "HP";

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

(34)

O programa acima atribuirá simultaneamente e respectivamente O programa acima atribuirá simultaneamente e respectivamente os valores do array às variáveis passadas como parâmetros para o 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. É muito importante lembrar que só serão passadas ao comando list os elementos do array que possuírem os índices com comando list os elementos do array que possuírem os índices com valores inteiros e não negativos.

valores inteiros e não negativos.

Exercício 17 Exercício 17

O

O exercexercício abaixo mostra a ício abaixo mostra a utilizautilização de ção de vetorevetores e s e listaslistas. . SalveSalve seu arquivo com o nome de “listas.php” na pasta habilitada e digite o seu arquivo com o nome de “listas.php” na pasta habilitada e digite o end

endereereço ço htthttp:/p://loc/localhalhostost/<e/<endendereçoreço>/li>/listastas.ps.php hp no no seu seu navnavegaegadordor para testá-lo. para testá-lo. <?php <?php $meses=array(“Janeiro”,“Fevereiro”,“Março”,“Abril,“Maio”,“ $meses=array(“Janeiro”,“Fevereiro”,“Março”,“Abril,“Maio”,“ Junho”,“Julho”,“Agosto”,“Setembro”,“Outubro”,“Novembro”,“D Junho”,“Julho”,“Agosto”,“Setembro”,“Outubro”,“Novembro”,“D ezembro”); ezembro”); ?> ?> Ciclo While <br><br> Ciclo While <br><br> <? <? $mes=0; $mes=0; while

while ($mes<=11) ($mes<=11) {{

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

for ($mes=0; $mes<=11; $mes++) for ($mes=0; $mes<=11; $mes++)

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

(35)

MySql – Banco de Dados MySql – Banco de Dados

N

No o mmuunnddo o aattuuaal l eexxiisstteem m ggiiggaanntteessccoos s bbaannccoos s dde e ddaaddooss gerenciando nossas vidas. Nossa conta bancária faz parte de uma gerenciando nossas vidas. Nossa conta bancária faz parte de uma coleção imensa de contas bancárias de nosso banco.

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

Nosssso o TíTítutulo lo ElEleieitotoraral l ou ou nonosssso o CaCadadaststro ro de de PePessssoa oa FíFísisicaca,, ce

certrtaammenente te esestãtão o ararmmaazezennadados os em em BBaancncoos s de de DaDaddos os cocololosssasaisis.. Sabemos também que quando sacamos dinheiro no caixa eletrônico de Sabemos também que quando sacamos dinheiro no caixa eletrônico de nosso banco, nosso saldo e as movimentações existentes em nossa nosso banco, nosso saldo e as movimentações existentes em nossa conta bancária já estão à nossa disposição.

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

Nestas situações sabemos que existe uma necessidade em se Nestas situações sabemos que existe uma necessidade em se realizar o armazenamento de uma série de informações que não 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 encontram efetivamente isoladas umas das outras, ou seja, existe uma ampla gama de dados que se referem a relacionamentos existentes ampla gama de dados que se referem a relacionamentos existentes entre as informações a serem

entre as informações a serem manipuladas.manipuladas.

Para gerenciar tantos dados como os citados são utilizados os Para gerenciar tantos dados como os citados são utilizados os Sistemas de Gerenciamento de Banco de Dados (SGBD). Sem tais Sistemas de Gerenciamento de Banco de Dados (SGBD). Sem tais sistemas o mundo atual estaria bastante diferente de como vemos sistemas o mundo atual estaria bastante diferente de como vemos hoje. O mercado financeiro atual não existiria. As praticidades, como hoje. O mercado financeiro atual não existiria. As praticidades, como compras pela Internet, cartões de débito, caixas automáticos e mais compras pela Internet, cartões de débito, caixas automáticos e mais uma infinidade de exemplos, não seriam possíveis.

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

Popularização dos Bancos de Dados Popularização dos Bancos de Dados

Há poucas décadas, os bancos de dados eram utilizados apenas Há poucas décadas, os bancos de dados eram utilizados apenas por grandes instituições. O seu uso era restrito aos grandes negócios, 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 onde simplesmente seria impossível a operação de certas indústrias ou

(36)

empresas. empresas.

Com a popularização e barateamento da plataforma IBM/PC, Com a popularização e barateamento da plataforma IBM/PC, llooggo o ssuurrggiirraam m pprrooggrraammaas s aapplliiccaattiivvoos s ppaarra a aallgguum m ttiippo o ddee armazenamento de dados.

armazenamento de dados.

Antes desses equipamentos e softwares tornarem-se acessíveis, Antes desses equipamentos e softwares tornarem-se acessíveis, muitas vezes eram utilizadas fichas cadastrais para armazenar dados muitas vezes eram utilizadas fichas cadastrais para armazenar dados de clientes em pequenos e médios negócios (essas fichas e armários de 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).

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

PPaarra a sse e eenntetendndeer r ccoommo o iisssso o ffununcciiononaavvaa, , vvaammoos s ususaar r uumm exemplo de uma pessoa que ao visitar uma clínica médica/odontológica 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 fornecia seu nome, endereço, telefone etc. Esses dados eram então anotados nessas fichas, que eram a única maneira de se guardar as anotados nessas fichas, que eram a única maneira de se guardar as inf

informormaçõações es de de clicliententes, es, pacpacientientes, es, estestudaudantentes, s, peçpeças as numnuma a ofioficincinaa mecânica etc.

mecânica etc.

Exemplo de ficha cadastral: Exemplo de ficha cadastral:

Nº de cadastro: 19.000/2 Nº de cadastro: 19.000/2 N

Noommee: : FFuullaanno o BBeellttrraanno o SSaannttooss...RRGG Nº:165.956.401/26

Nº:165.956.401/26

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

Cidade: de: ItupItuporaoranganga-SP-SP...Fon.Fone: e: (79)(79)5555 5555--5555

5555

Problema encontrado: Paciente apresentava constipação. Problema encontrado: Paciente apresentava constipação.

Qu

Quanando do erera a nenececessssárário io sasabeber r o o núnúmemero ro de de tetelelefofone ne de de umum cliente chamado “Raoni Guimarães Villar de Pinho” era preciso abrir o cliente chamado “Raoni Guimarães Villar de Pinho” era preciso abrir o

(37)

fichário, encontrar a letra R e ir olhando aos poucos onde havia o nome 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 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 Horta de Abreu” havia repetido alguma série, era preciso verificar as fi

fichchas as quque e cocontintinhnham am os os hihiststóróricicos os esescocolalareres, s, dedepopois is prprococururar ar pepelolo hi

histstóróricico o do do alalununo o e e aiaindnda a prprococururar ar nenessssa a fifichcha a se se o o alalununo o hahaviviaa repetido alguma série. No caso de uma farmácia, saber quais produtos 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 custavam mais que R$ 5,00 seria extremamente difícil, e nada disso era feito.

era feito.

Atualmente os bancos de dados estão por toda parte, desde a Atualmente os bancos de dados estão por toda parte, desde a farmácia da esquina até a lojinha do posto de gasolina.

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

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

Dados?

Um

Um SGBDSGBD - Sistema de Gerenciamento de Banco de Dados é- Sistema de Gerenciamento de Banco de Dados é

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

uma coleção de programas que permitem ao usuário definir, construir econstruir e manipular Bancos de Dados para as m

manipular Bancos de Dados para as mais diversas finalidades.ais diversas finalidades. Um SGBD deve possuir as seguintes características: Um SGBD deve possuir as seguintes características:

Co

Conntrtrolole e dde e RRededuunndâdânncciaiass - - A A rreedduunnddâânncciia a ccoonnssiisstte e nnoo

ar

armamazezenanamementnto o de de umuma a memesmsma a ininfoformrmaçação ão em em lolocacais is didifeferenrentestes,, provocando inconsistências. Em um Banco de Dados as informações só provocando inconsistências. Em um Banco de Dados as informações só sse e eenncoconntrtraam m aarrmmaazzeennaaddaas s eem m uum m úúnnicico o loloccaal, l, nnão ão eexxiisstitinndodo duplicação descontrolada dos dados. Quando existem replicações dos duplicação descontrolada dos dados. Quando existem replicações dos dados, estas são decorrentes do processo de armazenagem típica do dados, estas são decorrentes do processo de armazenagem típica do ambiente Cliente-Servidor, totalmente sob controle do Banco de Dados. ambiente Cliente-Servidor, totalmente sob controle do Banco de Dados.

(38)

Compartilhamento dos Dados

Compartilhamento dos Dados - O SGBD deve incluir software de- O SGBD deve incluir software de

controle de concorrência ao acesso dos dados, garantindo em qualquer controle de concorrência ao acesso dos dados, garantindo em qualquer tipo de situação a escrita/leitura de dados sem erros.

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

Co

Contntrorole le de de AcAcesessoso -- O O SSGGDDB B ddeveve e ddiisspopor r dde e rrececuurrssoos s qquuee

possibilitem selecionar a autoridade de cada usuário. Assim um usuário possibilitem selecionar a autoridade de cada usuário. Assim um usuário poderá realizar qualquer tipo de acesso, outros poderão ler alguns poderá realizar qualquer tipo de acesso, outros poderão ler alguns dados e atualizar outros, e outros ainda poderão somente acessar um dados e atualizar outros, e outros ainda poderão somente acessar um conjunto restrito de dados para escrita e leitura.

conjunto restrito de dados para escrita e leitura.

Interfaceamento

Interfaceamento - Um Banco de Dados deverá disponibilizar formas- Um Banco de Dados deverá disponibilizar formas

de acesso gráfico, em linguagem natural, em SQL ou ainda via menus 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 de acesso, não sendo uma “caixa-preta” somente sendo passível de ser acessada por aplicações.

acessada por aplicações.

Esquematização

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

que possibilitem a compreensão do relacionamento existente entre as que possibilitem a compreensão do relacionamento existente entre as tabelas e sua eventual manutenção.

tabelas e sua eventual manutenção.

Controle de Integridade

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

ap

apliliccaçaçõões es ou ou aacecesssosos s pepelalas s ininteterfrfaaceces s popossssaam m cocompmprorommeteter er aa integridade dos dados.

integridade dos dados.

Cópias de segurança

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

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

(39)

arquivos de “pré-imagem” ou de outros recursos automáticos, exigindo arquivos de “pré-imagem” ou de outros recursos automáticos, exigindo minimamente a intervenção de pessoal técnico.

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

Em certos casos pode ocorrer de um SGBD não obedecer uma Em certos casos pode ocorrer de um SGBD não obedecer uma ou outra regra das vistas acima, mas ainda assim continuar sendo ou outra regra das vistas acima, mas ainda assim continuar sendo considerado um SGBD. Porém alguns “Bancos de Dados” atualmente considerado um SGBD. Porém alguns “Bancos de Dados” atualmente comercializados não são SGBD reais, justamente por não atenderem comercializados não são SGBD reais, justamente por não atenderem algumas dessas características.

algumas dessas características.

Php MyAdmin Php MyAdmin

É uma ferramenta de administração de banco de dados MySql É uma ferramenta de administração de banco de dados MySql implementada em PHP com interface web. É bastante amigável e útil implementada em PHP com interface web. É bastante amigável e útil para aquele que não se sente muito confortável com SQL.

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

Para acessar a ferramenta digite a seguinte URL no navegador: Para acessar a ferramenta digite a seguinte URL no navegador: http://localhost/phpmyadmin

http://localhost/phpmyadmin

MySql MySql

É um Sistema de Gerenciamento de Bancos de Dados relacional. É um Sistema de Gerenciamento de Bancos de Dados relacional. Um banco de dados relacional armazena dados em tabelas separadas Um banco de dados relacional armazena dados em tabelas separadas em vez de colocar todos os dados em um só local. Isso proporciona em vez de colocar todos os dados em um só local. Isso proporciona velocidade e flexibilidade. O MYSQL é um software cujo código fonte é velocidade e flexibilidade. O MYSQL é um software cujo código fonte é aberto, onde é possível para qualquer um usar e modificar o programa. aberto, onde é possível para qualquer um usar e modificar o programa. Qualquer pessoa pode fazer download do MySQL pela Internet e usá-lo Qualquer pessoa pode fazer download do MySQL pela Internet e usá-lo sem

sem pagar pagar nada nada (o (o MySQL MySQL só só é é cobrado cobrado em em alguns alguns poucos poucos casos). casos). SeSe você quiser pode estudar o código fonte e alterá-lo para adequá-lo às você quiser pode estudar o código fonte e alterá-lo para adequá-lo às

(40)

suas necessidades. O MySQL usa a GPL (GNU General Public License suas necessidades. O MySQL usa a GPL (GNU General Public License -Licenca Pública Geral GNU) http://www.fsf.org/licenses, para definir o Licenca Pública Geral GNU) http://www.fsf.org/licenses, para definir o qu

que e vvococê ê ppodode e e e nãnão o popode de fafazezer r cocom m o o sosoftftwawarre e eem m didiffererenentetess situações ou se preferir adquirir a versão comercial licenciada.

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

- O MySQL suporta diferentes plataformas, tais como: Windows, Linux, - O MySQL suporta diferentes plataformas, tais como: Windows, Linux, FreeBSD, Unix, entre outros.

FreeBSD, Unix, entre outros.

Exemplo de Banco de dados Exemplo de Banco de dados

Tabela de DEPARTAMENTO Tabela de DEPARTAMENTO

N

Noommee NNúúmmeerroo** RRG G GGeerreennttee C

Coonnttaabbiilliiddaaddee 11 1100110011001100 E

Ennggeennhhaarriia a CCiivviill 22 3300330033003300 E

Ennggeennhhaarriia a MMeeccâânniiccaa 33 2200220022002200 E

Ennggeennhhaarriia a EEllééttrriiccaa 44 4400220022002200

Há 3 campos na tabela DEPARTAMENTO (nome, número e RG Há 3 campos na tabela DEPARTAMENTO (nome, número e RG Gerente), sendo que o campo Número é chave primária (impede que Gerente), sendo que o campo Número é chave primária (impede que existam 2 registros iguais no banco de dados). A primeira linha possui existam 2 registros iguais no banco de dados). A primeira linha possui valores “Contabilidade”, “1” e “10101010”.

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

Os s nonomemes s dadas s tatabebelalas s e e ddos os ccamampopos s sãsão o dde e ffunundadammenentatall iimmppoorrttâânncciia a ppaarra a nnoossssa a ccoommpprreeeennssãão o eennttrre e o o qquue e eessttaammooss armazenando, onde estamos armazenando e qual a relação existente armazenando, onde estamos armazenando e qual a relação existente entre os dados armazenados.

(41)

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

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

O esesququemema a de de umuma a rerelalaçãção, o, nanada da mmaiais s é é quque e os os ccamampoposs (colunas) existentes em uma tabela. Já a instância da relação consiste (colunas) existentes em uma tabela. Já a instância da relação consiste no conjunto de valores que cada atributo assume em um determinado no conjunto de valores que cada atributo assume em um determinado instante. Portanto, os dados armazenados no Banco de Dados, são instante. Portanto, os dados armazenados no Banco de Dados, são formados pelas instâncias das relações.

formados pelas instâncias das relações.

As relações não podem ser duplicadas (não podem existir dois As relações não podem ser duplicadas (não podem existir dois estados do Pará, no conjunto de estados brasileiros, por exemplo), a estados do Pará, no conjunto de estados brasileiros, por exemplo), a or

ordedem m dde e eentntrradada a dde e dadaddos os no no BaBancnco o de de DDadados os nãnão o dedeveverá rá teterr qu

qualalququer er imimpoportrtânâncicia a papara ra as as rerelalaçõçõeses, , no no quque e coconcncererne ne ao ao seseuu tratamento.

tratamento.

Co

Como mo ututililizizar ar a a SQSQL L papara ra mamaninipupulalar r os os babancncos os dede dados MySQL

dados MySQL

O SQL possui comandos que são utilizados para manipular os O SQL possui comandos que são utilizados para manipular os bancos de dados, as tabelas e os registros existentes. Para acessar o bancos de dados, as tabelas e os registros existentes. Para acessar o banco de dados SQL via terminal (linha de comandos) proceda da banco de dados SQL via terminal (linha de comandos) proceda da seguinte forma:

seguinte forma:

 mysql -u usuario -p

 mysql -u usuario -p <enter><enter>

digite a senha de acesso ao banco

digite a senha de acesso ao banco <enter><enter>  mysql:

(42)

Comandos SQL Comandos SQL Comando SHOW Comando SHOW

Mostra os bancos de dados e tabelas existentes. Mostra os bancos de dados e tabelas existentes.

Sintaxe: Sintaxe:

SHOW

SHOW DATADATABASEBASES;S; (Mostra os bancos de dados existentes no(Mostra os bancos de dados existentes no

MySql) MySql)

SHOW TABLES;

SHOW TABLES; (Exibe as tabelas existentes no banco)(Exibe as tabelas existentes no banco)

Comando USE Comando USE

Seleciona um bancos de dados para ser utilizado. Seleciona um bancos de dados para ser utilizado.

Sintaxe: Sintaxe: USE nome_do_banco; USE nome_do_banco; Comando CREATE Comando CREATE

Este comando permite a criação de bancos de dados ou de Este comando permite a criação de bancos de dados ou de tabelas num banco de dados.

tabelas num banco de dados.

Sintaxe: Sintaxe:

CREATE DATABASE < nome_db >; CREATE DATABASE < nome_db >;

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

Exemplo:

CREATE DATABASE curso; CREATE DATABASE curso;

Sintaxe: Sintaxe:

CREATE TABLE < nome_tabela > ( CREATE TABLE < nome_tabela > (

nome_atributo1 < tipo > [ NOT NULL ], nome_atributo1 < tipo > [ NOT NULL ],

(43)

nome_atributo2 < tipo > [ NOT NULL ], nome_atributo2 < tipo > [ NOT NULL ],

... ...

nome_atributoN < tipo > [ NOT NULL ] nome_atributoN < tipo > [ NOT NULL ] PRIMARY KEY(nome_atributo)

PRIMARY KEY(nome_atributo) ) ;

) ;

onde:

onde: nome_tabelanome_tabela indica o nome da tabela a ser criada.indica o nome da tabela a ser criada. nome_atributo:

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

tipo: indica a definição do tipo de atributo indica a definição do tipo de atributo ( integer(n), char(n), ... ).( integer(n), char(n), ... ). PRIMARY KEY: esse é o campo utilizado para que não exista, na tabela, PRIMARY KEY: esse é o campo utilizado para que não exista, na tabela, dois registros iguais.

dois registros iguais.

Ele mantém a integridade do banco de dados. Caso você tente Ele mantém a integridade do banco de dados. Caso você tente inserir num banco de dados um registro com uma PRIMARY KEY já inserir num banco de dados um registro com uma PRIMARY KEY já existente ele emitirá uma mensagem de erro e impedirá que o registro existente ele emitirá uma mensagem de erro e impedirá que o registro seja inserido.

seja inserido. Exemplo:

Exemplo:

CREATE table alunos( CREATE table alunos(

codigo int NOT NULL AUTO_INCREMENT, codigo int NOT NULL AUTO_INCREMENT, nome VARCHAR(20) NOT NULL ,

nome VARCHAR(20) NOT NULL , telefone CHAR(8) NOT NULL, telefone CHAR(8) NOT NULL, PRIMARY KEY(codigo) );

Referências

Documentos relacionados

Esse grupo de 3.294 municípios brasileiros que não estão nem no topo nem na base da pirâmide social deu a Dilma Rousseff (PT), no primeiro turno de 2014, 27,3 milhões de votos,

A educação pré-escolar é onde os resultados médios da CAF Educação estão comparativamente mais baixos (embora francamente positivos), sugerindo-se, por isso, uma

Para verificar adequabilidade dos modelos de atrito variável na descrição do transiente hidráulico, foram utilizados resultados experimentais extraídos das publicações de

Os resultados demonstraram que os eventos que apresentaram menos ou nenhum sintoma, foram aqueles que apresentaram população inferior do patógeno em relação a planta tipo

Equipamentos de emergência imediatamente acessíveis, com instruções de utilização. Assegurar-se que os lava- olhos e os chuveiros de segurança estejam próximos ao local de

Tal será possível através do fornecimento de evidências de que a relação entre educação inclusiva e inclusão social é pertinente para a qualidade dos recursos de

Considerando que o valor de bolsa e os indicadores de geração de valor são cada vez mais utilizados pelos investidores ao analisar o desempenho econômico e

Documento contendo análise de 40 (quarenta) prestações de contas dos subprojetos financiados por intermédio de Organismos Internacionais e elaboração relatório