Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina POO Material II-Bimestre Conceitos de lógica de Programação usando PHP (Receber dados via GET e POST; URLencode; Vetores e matrizes; Inclusão e requisição de arquivos; Funções Matemáticas; Manipulação de strings) http://www1.univap.br/~wagner Prof. Responsável Wagner Santos C. de Jesus 1 Recepção dados via GET e POST 2 Captura de dados de um formulário Para realização de envio de dados o protocolo HTTP disponibiliza dois principais métodos para essa funcionalidade esses métodos são denominados GET e POST. 3 Exemplo de dados Enviados pelo método Get : http://localhost/formu.html?nome=Maria+das+Couves&Enderec o=Rua+Paraiso+34&Bairro=Centro Obs : A declaração do método deverá ser feita sempre em um formulário. Exemplo do GET para captura de dados. $nome = $_GET[“Nome”]; $endereco = $_GET[“endereco”]; 5 Exemplo de Formulário Usando Get <html> <body> <form Name = "form1" Method="Get" Action="PegaDados.php"> <center><table> <tr> Nome :<input type="text" Name="nome"><br><br> Endereço:<input type="text" Name="Endereco"><br><br> Bairro:<input type="text" Name="Bairro"><br><br> <input type="SUBMIT" value="Enviar"> </tr> </table> </center> </form> </body> </html> 6 Exemplo Código PHP Captura de dados usando $_GET <?php $wnome = $_GET["nome"]; $wendereco = $_GET["endereco"]; $wbairro = $_GET["bairro"]; echo $wnome."<br>"; echo $wendereco."<br>"; echo $wbairro."<br>"; ?> 7 Sintaxe do POST para captura de dados. $_POST[<ExprS>] : A expressão do tipo String que determina o nome do atributo que contem o dado do formulário que será omitido da barra de endereço no navegador. 8 Exemplo Código PHP Captura de dados usando $_POST <?php $wnome = $_POST["nome"]; $wendereco = $_POST["endereco"]; $wbairro = $_POST["bairro"]; echo $wnome."<br>"; echo $wendereco."<br>"; echo $wbairro."<br>"; ?> 9 Capturando dados de objetos de agrupamento (Botão de Rádio, Caixa de Verificação, Caixa de Lista e Combinação e Área de texto) 10 Envia dados de um botão de rádio <html> <form Name = "form1" Method="Post" Action="radio.php"> Java : <INPUT TYPE="Radio" NAME="ch" VALUE=“0"> HTML : <INPUT TYPE="Radio" NAME="ch" VALUE=“1" checked> <input type="SUBMIT" value="Enviar"> </form> </html> Nomes Iguais (ch) 11 Captura dados de botão de rádio <?php $radio = $_POST["ch"]; echo $radio."<br>"; ?> 12 Envia dados de uma caixa de verificação <html> <form Name = "form1" Method="Post" Action="ch.php"> Java : <INPUT TYPE = "Checkbox" NAME="ch1" VALUE="JAVA"> HTML : <INPUT TYPE = “Checkbox" NAME="ch2" VALUE="HTML"> <input type="SUBMIT" value="Enviar"> </form> </html> 13 Captura dados de uma caixa de verificação <?php $chk1 = 0; $chk2 = 0; if(!empty($_POST["ch1"])) $chk1 = $_POST["ch1"]; if(!empty($_POST["ch2"])) $chk2 = $_POST["ch2"]; echo $chk1."<br>"; echo "$chk2; ?> 14 Envia dados de uma caixa de combinação <html> <form Name = "form1" Method="Post" Action="listacx.php"> <Select Name ="cargo"> <Option value="0">Programador Junior </Option> <Option value="1" selected>Programador Senior </Option> <Option value="2">Programador Pleno </Option> <Option value="3">Analista Programador </Option> </Select> <input type="SUBMIT" value="Enviar"> </form> </html> 15 Captura dados de uma caixa de combinação <?php $cx = $_POST["cargo"]; echo $cx."<br>"; ?> 16 Envia dados de uma caixa de lista <html> <form Name = "form1" Method="Post" Action="lista.php"> <Select Name =“listacx" size=3> <Option value="0">Programador Junior <Option value="1" selected>Programador Senior <Option value="2">Programador Pleno <Option value="3">Analista Programador <Option value="4">Analista de Negocio </Select> <input type="SUBMIT" value="Enviar"> </form> </html> 17 Captura dados de uma caixa de lista <?php $cx = $_POST[“listacx"]; echo $cx."<br>"; ?> 18 Enviando dados de uma caixa de texto. <html> <form Name = "form1" Method="Post" Action="area.php"> <textarea name="txtarea" rows="5" cols="30"> </textarea> <input type="SUBMIT" value="Enviar"> </form> </html> 19 Captura dados de uma área de texto <?php $areatexto = $_POST["txtarea"]; echo $areatexto."<br>"; ?> 20 foreach() Captura o conteúdo de um objeto lista e armazena o resultado em uma variável de memória a cada laço executado. Sintaxe: foreach(<Objetolista> as <Varm>){ <Instruções> } 21 Exemplo de uma aplicação usando foreach() 22 Código HTML <HTML><HEAD><TITLE>Envia Dados</TITLE></HEAD> <BODY> <form Name = "form1" Method="Post" Action="lista.php"> <select name="livros[]" multiple> <option value="1">Dominando Java</option> <option value="2">Dominando Visual Basic</option> <option value="3">Dominando Delphi</option> <option value="4">Dominando PHP</option> <option value="5">Dominando C++</option> </select> <input type="SUBMIT" value="Enviar"><br> </form> </BODY> </HTML> 23 Capturando um conjunto de dados em uma caixa de lista <?php if(!empty($_POST["livros"])) { $test = $_POST["livros"]; foreach ($test as $t){ echo "Item selecionado ",$t,"<br>"; } } else echo "Não houve seleção na lista"; ?> 24 Encode Trabalhando Encode para envio de dados para variáveis em um programa. Variáveis Programa Atual Montagem da String Método Get Captura de dados Programa anterior 25 Função: urlencode() Esta função é conveniente para codificar uma string para ser usado em uma parte de consulta de URL, como uma forma de passar variáveis para a próxima página 26 Exemplo da função urlencode() <?php $userinput = "Página de web"; echo '<a href="/listaenc.php?cargo='. urlencode($userinput). '"> ok </a>'; ?> 27 Criação e Manipulação de Array 28 Conceito de Array Um array vem a ser uma variável que pode conter vários elemento. No entanto existem vários tipos de Array: • • • • Vetor, Matriz ou Monobloco; Tuplas; Listas; Hashtable; 29 Observação sobre vetor Em PHP um vetor é dinâmico e não pode ser criado para ser usado. 30 Exemplo de Vetor $vet[0] = "Abacaxi"; $vet[1] = 1; $vet[2] = 3.1415; $vet[3] = true; for($i=0;$i<=3;$i++) echo $vet[$i]."<br>"; 31 Exemplo de Matriz (Linhas e Colunas) for($i=0;$i<=9;$i++) { for($j=0;$j<=9;$j++){ $vetor[$i][$j] = “Arranjos ".$i.",".$j; echo $vetor[$i][$j]."<br>"; } } 32 Conceito de Tupla Vem a ser um array que não pode ser modificado em termos de número de elementos. 33 Exemplo de tupla $vetor = array(12,14,1,16,18,20); for($i=0;$i<=5;$i++) echo $vetor[$i]."<br>"; 34 Lista Uma lista ou sequência é uma estrutura de dados abstrata que implementa uma coleção ordenada ou não ordenada de valores, onde o mesmo valor pode ocorrer mais de uma vez. 35 Uma lista deve conter as seguinte operações • • • • • • • Criação da lista; Inserção na lista; Busca de elementos na lista; Acesso a elementos da lista; Eliminação de elementos da lista; Retorno do tamanho da lista. Ordenação da lista. 36 Criação de uma lista função array(). <?php $lista = array(); ?> 37 array_push(): Insere elemento na lista. Sintaxe: array_push(<lista>, <lista_elemento>); Exemplo: <?php $lista = array(); array_push($lista, "melancia"); print_r($lista); // Imprime toda a lista ?> 38 array_search(): Busca um elemento em uma lista e retorna com índice correspondente. Sintaxe: array_search(<elemento>, <lista>); Exemplo: <?php $lista = array("Abacaxi","Banana","Laranja"); $indice = array_search("Laranja", $lista); echo $indice; // indice = 2 ?> 39 in_array: Busca de elementos em lista. Checa se um valor existe em uma lista e retorna verdadeiro de existir. Sintaxe: <varBool> = in_array(<elemento>, <lista>); 40 Exemplo de in_array() <?php $lista = array("Maria", "Rosana", "Regina", "Paula"); if (in_array(“Regina", $lista)) echo "Achou Item"; else echo "Não Achou Item“; ?> 41 array_shift(): Acessa e Elimina Retira o primeiro elemento de uma lista e o retorna, diminuindo a lista em um elemento e movendo todos os outros elementos para trás. Todas as chaves numéricas alteradas para começar a contar de 0 (zero). 42 Sintaxe array_shift() Sintaxe: <elemento> = array_shift(<lista>); <elemento> : Variável de memoria que guarda o elemento que foi encontrado e retirado. <lista> : Lista onde encontrar os elementos. 43 Exemplo array_shift(): <?php $lista = array("laranja", "banana", "melancia", "morango"); $encontrado = array_shift($lista); print_r($lista); ?> 44 count() : Retorna o tamanho da lista. Sintaxe: count (<nome_lista>); Exemplo: <?php $lista = array("Abacaxi","Banana","Laranja"); $tamanho = count($lista); echo $tamanho."<br>"; // Retorna 3 ?> 45 Ordenar uma lista sort()/rsort() : Ordena uma lista de forma crescente ou decrescente. Sintaxe: sort(<lista>,<flags>); <lista> : Lista a ser ordenada; <flags>: Tipos de caracteres a ser ordenados. 46 Flags: sort()/rsort() Parâmetros Descrição SORT_REGULAR Compara os itens normalmente (não modifica o tipo) SORT_NUMERIC Compara os itens numericamente. SORT_STRING Compara os itens como strings 47 Exemplo sort() $frutas = array("limao", "laranja", "banana","abacaxi", "melancia"); sort($frutas); for($indice=0;$indice<=count($frutas)-1;$indice++) echo $frutas[$indice]."<br>"; 48 Tabela de hash. Uma tabela de hash é uma estrutura de dados vetorial (ou seja, um array unidimensional) em que o acesso a cada entrada é precedido da execução de uma função de hash associada à referida tabela. Por regra, a função de hash é aplicada à componente chave de um registro do tipo <chave,dados> e o hash resultante atua como índice de uma entrada da tabela, associada ao registro. 49 Estrutura hashtable. Para se criar uma tabela de hash usa-se o construtor array(). Sintaxe: $thash = array(<chave> => <dado>,[<chaveN> => <dadoN>] ); 50 Exemplo Prático de hash <?php $lista = array("a"=>"laranja", "b"=>"banana", "c"=>"maçã"); echo $lista["c"]; // Resultado maçã ?> 51 Destruição de variáveis - unset() unset() – Mata uma variável ou estrutura de dados e seu conteúdo. Sintaxe : unset(<varm>); $lista = array("a"=>"laranja", "b"=>"banana", "c"=>"maçã"); echo $lista["b"]; unset($lista); echo $lista["b"]; // Variável indefinida 52 Funções e Procedimentos Definidos pelo usuário 53 Conceito de Função e Procedimento • Função sub rotina que realiza uma funcionalidade para o programa e retorna um valor de resposta. • Procedimento sub rotina que realiza uma funcionalidade para o programa e não retorna valor de resposta. 54 Algumas das vantagens na utilização de sub-rotinas durante a programação são: • A redução de código duplicado num programa; • A possibilidade de reutilizar o mesmo código sem grandes alterações em outros programas; • A decomposição de problemas grandes em pequenas partes; • Melhorar a interpretação visual de um programa; • Esconder ou regular uma parte de um programa, mantendo o restante código alheio às questões internas resolvidas dentro dessa função; 55 Criação de uma Função <?php function nomef ([<lista de parâmetros>]) { <Instruções da linguagem> return <valor>; } ?> 56 Criação de um Procedimento <?php function nomep ([<lista de parâmetros>]) { <Instruções da linguagem> } ?> 57 Exemplo prático de função <?php function somar($x,$y) { return $x + $y; } $t = somar(4,5); ?> 58 Exemplo 2 - funções <?php function somar($x,$y) { return $x + $y; } function subtrair($x,$y) { return $x - $y; } $t = somar(4,5); $s = subtrair(5,4); echo ($t - $s)."<br>"; ?> 59 Criação de Procedimento <?php function nomep ([<lista de parâmetros>]) { <Instruções da linguagem> } ?> 60 Exemplo Procedimento <?php function fibonacci($x) { $proximo = 1; $anterior = 1; for($indice=1;$indice<=$x;$indice++){ $fibonacci = $indice < 3 ? 1 : ($proximo + $anterior); echo $fibonacci."<br>"; $anterior = $proximo; $proximo = $fibonacci; } } fibonacci(8); ?> 61 Criando um arquivo somente de funções ou procedimentos Para se ter um melhor aproveitamento e organização e melhoria na qualidade da manutenção. Usa-se um arquivo com o código separado contendo todas as funções necessárias para o tipo especifico de programa. 62 Inclusão de arquivo de funcionalidades Comando include: Permite a inclusão de arquivo php em um outro. Sintaxe: include <nome_Arq.php> 63 Exemplo de arquivo de inclusão <?php include "fibona.php"; fibonacci(8); ?> 64 Funções Matemáticas em PHP 65 Conceito de função matemática As funções são definidas abstratamente por certas relações. Por causa de sua generalidade, as funções aparecem em muitos contextos matemáticos em muitas áreas da matemática baseiam-se no estudo de funções. 66 Funções Explicitas Exemplo: f(x) = x 67 Função abs() Calcula o valor absoluto de um número. Sintaxe: <varm> = abs(<valor>); 68 Função base_convert(): Converte um número entre bases arbitrárias. Sintaxe: <varm> = base_convert(<ExpS>,<ExpN1>,<ExpN2>); <ExpS> : Valor na base desejada. <ExpN1>: Valor da Base corrente. <ExpN2>: Valor da base a ser convertida. 69 base_convert(): <?php $hexadecimal = 'FF'; echo base_convert($hexadecimal, 16, 2); ?> 70 Função bindec() Converte um valor da base 2 (binária) em um valor de base 10 (decimal). Sintaxe: <varm> = bindec(<ExpS>); 71 bindec() <?php echo bindec('111'); ?> 72 Funções round(): Retorna com o arredondamento de um número informando o número de casas de precisão. Sintaxe: <Varm>=round (<ExpN> [, <ExpN> ] ); 73 Exemplo de round() <?php $arredonda = round(1.95583, 2); // 1.96 echo $arredonda; ?> 74 Função number_format() Formata um número com os milhares agrupados. Sintaxe: <Varm> = number_format(<varm>,<ExpN1>[,<ExpS1>, <ExpS2>]); <Varm> : Variável numérica contendo os valor . <ExpN1>: Numero de casas decimais. <ExpS1>: Separador de casas decimais. <ExpS2>: Separador de milhar. 75 Exemplo: number_format() <?php $number = 1234.56; $nomb = number_format($number, 2,",","."); echo $nomb."<br>"; ?> 76 Função fmod() Retorna com o resto da divisão entre pontos flutuantes. Sintaxe: <Varm> = fmod(<ExpN1>,<ExpN2>); 77 Exemplo: fmod() <?php $x = 5.7; $y = 1.3; $r = fmod($x, $y); echo $r; ?> 78 Função hypot() Retorna o tamanho da hipotenusa de um ângulo reto do triângulo com lado de tamanho x e y, ou a distância do ponto (x, y) de uma origem. Sintaxe: <varm> = hypo(<ExpN1>[,<ExpN2>,<ExpN3>]); <ExpN1>: Valor do lado A vetor na direção x. <ExpN2>: Valor do lado B vetor na direção y. <ExpN3>: Valor do vetor na direção z. 79 Exemplo hypot() <?php $x = 3; $y = 4; $h = hypot($x, $y); echo $h; ?> 80 Função log10() Calcula Logaritmo na base-10 de número passado como parâmetro. Sintaxe: <Varm> = log10(<ExpN); <Expn>: Determina o valor a ser calculado o logaritmo. 81 Exemplo log10() <?php $res_log = log10(100); echo $res_log; ?> 82 Função sqrt() Calcula a raiz quadrada de um número informado como argumento. Sintaxe: <Varm> = sqrt(<ExpN1); <ExpN1>: Valor para extração da raiz quadrada. 83 Função pi() Retorna o valor de π com 14 casas de precisão. Sintaxe: <Varm> = pi(); Exemplo : $x = pi(); 84 Função max() Retorna o maior número entre o uma lista ou um par de valores passados como parâmetros. Sintaxe: <Varm> = max(<ExpN>[,<lista>]); <ExpN>: Pode ser um valor ou um conjunto de valores. <lista> : Array contendo um conjunto de números. 85 Exemplo max() <?php $lista = Array(1,20,3,4); $maior = max($lista); echo $maior; ?> 86 Função min() Retorna o menor número entre o uma lista ou um par de valores passados como parâmetros. Sintaxe: <Varm> = min(<ExpN>[,<lista>]); <ExpN>: Pode ser um valor ou um conjunto de valores. <lista> : Array contendo um conjunto de números. 87 Exemplo min() <?php $lista = Array(1,20,3,4); $menor = min($lista); echo $menor; ?> 88 Funções Trigonométricas 89 Função cos() Retorna o coseno do argumento. O parâmetro argumento deve estar em radianos. Sintaxe: <Varm> = cos(<ExpN>); 90 Exemplo cos() <?php $valor = cos(30*pi()/180); echo $valor; ?> Ângulo deve estar sempre em radiano. 91 Função sin() Retorna o seno do argumento. O parâmetro argumento deve estar em radianos. Sintaxe: <Varm> = sin(<ExpN>); 92 Exemplo sin() <?php $valor = sin(30*pi()/180); echo $valor; ?> Ângulo deve estar sempre em radiano. 93 Função tan() Retorna a tangente do argumento. O parâmetro argumento deve estar em radianos. Sintaxe: <Varm> = tan(<ExpN>); 94 Exemplo tan() <?php $valor = tan(30*pi()/180); echo $valor; ?> Ângulo deve estar sempre em radiano. 95 Números aleatórios Em estatística, um número aleatório é um número que pertence a uma série numérica e não pode ser previsto a partir dos membros anteriores da série. 96 Função rand() Retorna um número aleatório dentro de um intervalo estabelecido. Sintaxe: <Varm> = rand(<ExpN1>,<ExpN2>); <ExpN1>: Valor do intervalo inicial. <ExpN2>: Valor do intervalo final. 97 Exemplo rand() <?php $r = rand(10,20); echo $r; ?> 98 Funções pow() Retona o valor correspondente a exponencial do número. xy Sintaxe: <Varm> = pow(<ExpN1>,<ExpN2>) <ExpN1>: Valor correspondente a base. <Expn2>: Valor correspondente a expoente. 99 Exemplo pow() <?php $r = pow(3,2); echo $r; ?> 100 Função array_sum() Calculo da somatória dos número de uma lista. x L i i 0 101 Sintaxe sum() <Varm> = array_sum(<lista>); <lista>: Deve ser um array contendo os elementos que serão somados. 102 Exemplo array_sum() <?php $lista = Array(4,5,6,7); echo array_sum($lista); ?> 103 Manipulação de Strings 104 Funções strlen() Retorna o comprimento de uma string passada como parâmetro. Sintaxe: <Varm> = strlen(<ExpS>); <ExpS> : String a ser retornado o comprimento. 105 Exemplo de strlen() <?php $str = "Laranja"; $x = strlen($str); echo $x; ?> 106 Funções substr() Retorna uma parte da string. Mediante ao intervalo numérico especificado pelas expressões. Sintaxe: <Varm> = substr(<ExpS>,<ExpN1>,<ExpN2>); <ExpS>: Expressão do tipo string. <ExpN1>: Inicio da string a ser capturada. <ExpN2>: Número de caracteres a ser capturado. 107 Exemplo substr() <?php $str = “Laranja"; $x = substr($str,3,3); echo $x; ?> 108 Função strrchr() Encontra a ultima ocorrência de um caractere em uma string e retorna a parte da string deste caractere até o final. Sintaxe: <Varm> = strrchr(<ExpS1>,<ExpS2>); <ExpS1>: String a ser consultada. <ExpS2>: String a ser encontrada capturando as demais até o final. 109 Exemplo de strrchr() <?php $str = "Estudo da linguagem PHP"; $x = strrchr($str,"l"); echo $x; ?> 110 Função trim() Retira os espaço em branco a esquerda ou a direita de uma string. Sintaxe: <varm> = trim(<ExpS>); 111 Exemplo trim() <?php $str = " Estudo $x = trim($str); echo $x; ?> "; 112 Função chr() Retorna com o caractere mediante a código ASCII informado. Sintaxe: <varm> = chr(<ExpN>); 113 Exemplo chr() <?php $x = chr(66); echo $x; ?> 114 Função stripos() Encontra a primeira ocorrência de uma string sem diferenciar maiúsculas e minúsculas. Sintaxe: <Varm> = stripos(<ExpS1>,<ExpS2>); <ExpS1>: String já existente. <ExpS2>: String a ser procurada. 115 Exemplo stripos() <?php $str1 = "Estamos Fechados no momento"; $str2 = "Fechados"; $x = stripos($str1, $str2); echo $x; ?> 116 Função ord() Retorna o código ASCII do caractere especificado. Sintaxe: <varm> = ord(<ExpS>); 117 Exemplo: ord() <?php $asc = ord("A"); echo $asc; ?> 118 Função str_repeat() Repete uma string um dado número de vezes. Sintaxe: <Varm> = str_repeat(<ExpS>,<ExpN>); <ExpS> : Caracter a ser repetido. <ExpN>: Número de vezes a ser repetido. 119 Exemplo: str_repeat() <?php $asc = str_repeat("=",300); echo $asc; ?> 120 Função str_split() Converte uma string para um array. Sintaxe: <varm> = str_split(<ExpS>[,<ExpN>]); <ExpS>: String a ser arranjada. <ExpN>: Número de elementos do array. 121 Exemplo str_split() <?php $asc = str_split("Marta"); echo $asc[0]; ?> 122 Função str_ireplace Substitui todas as ocorrências da string de procura com a string de substituição. Não fazendo distinção de maiúsculo e minúsculo. Sintaxe: <varm> = str_ireplace(<ExpS1>,<ExpS2>,<ExpS3>); <ExpS1>: Caractere ou string a ser substituído <ExpS2>: Caractere ou string de substituição. <ExpS3>: String de substituição. 123 Exemplo str_ireplace() <?php $asc = str_ireplace("a",”o”,"Marta"); echo $asc; ?> 124 Função strtolower() Converte os caracteres de uma string de maiúsculo para minúsculo. Sintaxe: <varm> = strtolower(<ExpS>); 125 Exemplo strtolower() <?php $str = ”TESTE ROTINA PHP"; $str = strtolower($str); echo $str; ?> 126 Função strtoupper() Converte os caracteres de uma string de minúsculo para maiúsculo. Sintaxe: <varm> = strtolower(<ExpS>); 127 Exemplo strtoupper() <?php $str = ”teste rotina php"; $str = strtoupper($str); echo $str; ?> 128 Função substr_count() Conta o número de ocorrências de uma substring. Sintaxe: <varm> = echo substr_count(<ExpS1> [, <ExpS2>]); <ExpS1>: String a ser realizada a contagem. <ExpS2>: Caractere ou string para contagem. 129 Exemplo substr_count() <?php $str = "O homem do campo tomou a enchada do homem da cidade"; echo substr_count($str, 'do'); ?> 130 Função substr_replace() Insere substituindo um conjunto de caracteres em uma parte da string. Sintaxe: <varm> = substr_replace(<ExpS1>,< ExpS2>,[<ExpN>]); <ExpS1>: String original. <ExpS2>: String a ser inserida. <ExpN>: Local da String para inserção. 131 Exemplo substr_replace() <?php $var = "Disciplina de programação I "; echo substr_replace($var, 'Alberson Wander', 28) ?> 132 Função explode() Divide uma string criando um array de strings. Sintaxe: <Varm> = explode(<ExpS1>,<ExpS2>); <ExpS1>: Caractere delimitador. <ExpS2>: String a ser dividida. 133 Exemplo de explode() <?php $var = "teste1 teste2 teste3"; $vetor = explode(" ",$var); echo $vetor[0]."<br>"; echo $vetor[1]."<br>"; echo $vetor[2]."<br>"; ?> 134 Função wordwrap() Quebra uma string em um dado número de caracteres. Sintaxe: <Varm> = wordwrap(<ExpS1>, <ExpN>, <ExpS2>); <ExpS1>: String a ser trabalhada. <ExpN>: Número de divisão. <ExpS2>: Quebra de string. 135 Exemplo wordwrap() <?php $text = "Oi Alunos do 2 ano"; $newtext = wordwrap($text, 3, "<br>"); echo $newtext; ?> 136 Manipulação de Banco de Dados Usando PHP 137 O que vem a ser um Banco de dados. Vem a ser a forma como organizamos as informações de origem podendo Relatar, Classificar, Organizar e Adaptar as maneira de se administrar as informações. 138 Sistemas de Gerenciamento de Banco de Dados Um SGDB é o software responsável pelo armazenamento, recuperação e atualização dos dados de forma rápida e fácil. Um SGBD relacional é um software gerenciador de banco que acessa os dados na forma de linhas e colunas. 139 Estrutura Geral de Sistema Componentes Funcionais de um SGBD: • Gerenciador de Arquivos: Gerencia a alocação de espaço e armazenamento em disco e estruturas de dados. • Gerenciador do Banco de Dados: Proporciona interface entre os dados de baixo nível e os programas de aplicação e consultas. • Processador de Consultas: Traduz comandos de uma linguagem de consulta em instruções de baixo nível para que o GBD entenda. Tenta otimizar os pedidos de consulta dos usuários. • Pré-Compilador DML: Compila comandos DML em rotinas da linguagem do host. Precisa interagir com o processador de consultas para gerar código apropriado. • Compilador DDL: Converte comandos DDL em um conjunto de tabelas contendo metadados, que são armazenados no DD. 140 Diferenças • • • • • Oracle (Muito Alta Performance) MS-SQL-Server (Média p/ Alta Performance) InterBase (Média) MySql (Média) Microsoft Access 141 Autenticação com Banco Cliente Form. HTML Servidor, Login e Senha Servidor Banco,Conex ão Libera Procedimento Base de Dados 142 Usando a Linguagem de Manipulação de Dados. (SQL) A linguagem SQL (Structure Query Language) Linguagem de Estrutura de Consulta. Possibilita uma estrutura única de comandos que podem ser usados em qualquer Banco de Dados do Mercado com maior rapidez e eficiência na escrita de códigos de operações básicas de manipulação de dados. 143 Estudo da DML • Linguagem de Manipulação de Dados (ou DML, de Data Manipulation Language) é uma família de linguagens de computador utilizadas para a recuperação, inclusão, remoção e modificação de informações em bancos de dados. Pode ser procedural, que especifica como os dados devem ser obtidos do banco; pode também ser declarativa (não procedural), em que os usuários não necessitam especificar o caminho de acesso, isto é, como os dados serão obtidos. O padrão SQL é não procedural. DMLs foram utilizadas inicialmente apenas por programas de computador, porém (com o surgimento da SQL) também têm sido utilizadas por pessoas. 144 Estudo de DDL Linguagem de definição de dados (LDD ou DDL, do Inglês Data Definition Language) é uma linguagem de computador usada para a definição de estruturas de dados. O termo foi inicialmente introduzido em relação ao modelo de banco de dados Codasyl, onde o esquema de banco de dados era escrito em uma Linguagem de Definição de Dados descrevendo os registros, campos e "conjuntos" que constituíam o Modelo de dados do usuário. Inicialmente referia-se a um subconjunto da SQL, mas hoje é usada em um sentido genérico para referir-se a qualquer linguagem formal para descrição de estruturas de dados ou informação, assim como esquemas. 145 Estrutura da Linguagem SQL • • • • Select - Consulta de dados Insert - Inclusão de dados Update - Alteração de dados Delete - Remoção de dados 146 Abordagem Prática de uma Query (Consulta) 147 Instrução select permite realizar consultas (filtros em uma ou mais tabelas). Sintaxe Geral : Select [* | <campos>|distinct] From <Tabela> [where <condição>] like <mascara> * - Pega todos os campos de uma tabela. Distinct - Não permite repetição de registros. From - Anuncia o nome da tabela que será usada. 148 Sintaxe : Select [*/All/Distinct][<Campos-Tabela>] From [<Nome-Tabela>] Where [<Condição>][Order by <campo[ASC|DESC]] Exemplo : Select Nome,Endereco From Cadastro Where nome = ‘Jorge Mauro’ 149 Exemplo de order by Select * From tabela1 order by nome Seleciona o valor todos os campos da tabela com nome em ordem Crescente. 150 Select endereco From tabela1 where nome is null Seleciona os dados do campo endereco que o campo nome da tabela for igual nulo. 151 Select Nome,Fone from Funcionario Where Nome like ‘C%’ Seleciona os dados dos campos nome e endereço que campo nome comece com letra “C”. 152 Select Nome fone From tabela1 Where nome like ‘%Henrique%’ Seleciona os dados da tabela1 que o nome tiver a string Henrique em qualquer posição. 153 Select Nome from funcionario where salario between 1200 and 4000 and (Estado=‘SP’ or Estado=‘RJ’ Seleciona os dados do campo nome que o salário estiverem em um intervalo entre 1200 4000 e o estado for igual a SP ou RJ. 154 Select Nome, Estado from Tabela1 from funcionario where estado in(‘SP’,’MG’) Seleciona os dados da tabela1 dos campos nome e estado que estado for igual SP e MG 155 Funções de uma Query : Upper - Retorna os dados do campo da tabela letras maiúsculas. AVG - Retorna a média dos valore de um campo. MIN - Retorna o menor valor do campo de uma tabela. MAX - Retorna o maior valor do campo de uma tabela. SUM - Retorna a soma dos valores de uma 156 determinada coluna. Select Upper(nome), fone from tabela1 Select Max(Valor) from tabela1 Select Min(Valor) from Tabela1 Select Avg(Valor) from Tabela1 Select Sum(Valor) From Tabela1 157 Abordagem Prática de Comandos de Modificação da base de dados. 158 (Inserir dados) - Sintaxe : Insert into <Nome-Tabela>[( <Nome-dos-Campos> )] Values(<Lista de Campos>) Exemplo : Insert Into CadAlunos (Nome,Endereco) Values( 'Marta Cunha','Rua Siqueira Campos,3' ) 159 Remover dados - Sintaxe : Delete From <Nome-da-Tabela> [Where <Condição>] Exemplo : Delete From CadAlunos Where nome = ‘Maria das Coves’ 160 Alterar Dados - Sintaxe : Update <Nome da Tabela> set <nome-do-campo> = <Constante> [Where <Condição>] Exemplo : Update CadAlunos set nomeAluno = ‘Maria da Coves’ Where Codigo = ‘001’ 161 mysql_connect Estabelece conexão com o servidor de dados e retorna verdadeiro se houver sucesso na realização da mesma. Sintaxe: <varm> = mysql_connect(<servidor>,<usuario>,<senha>) 162 mysql_select_db Estabelece conexão com o banco de dados e retorna verdadeiro se houver sucesso na realização da mesma. Sintaxe: <varm> = mysql_select_db(banco,conexao); 163 mysql_connect() - Abre uma conexão com um servidor MySQL. Criação de autenticação no banco de dados. - Servidor; - Usuário; - Senha Servidor Web Autenticaç ão Servidor, Usuário, Senha Servidor Banco de Dados 164 Exemplo prático // Cria conexão com o banco de dados db.php $servidor = "127.0.0.1"; $usuario = "root"; $senha = ""; $db = "Banco"; if($conexao = mysql_connect($servidor,$usuario,$senha)) { if(!mysql_select_db($db,$conexao)) { echo "<Script>Não foi possível efetuar a conexão com o Banco de Dados!!</Script>"; } } else echo "<Script>Não foi possível realizar a conexão!!</Script>"; 165 mysql_query() Envia uma instrução SQL para o banco de dados. Permitindo que sejam realizadas as operações. • • • • Select (Consulta) Insert (Inclusão) Update (Alteração) Delete (Remoção) 166 Abertura de um cursor para localização em arquivo. Banco Dados Jose Pedro Paulo Roberta ResultSet Movimentação para um tipo de navegação para conjunto de resultados. Realizar a navegação sequencial no registros do banco de dados Aplicando instruções para a Consulta ao banco de dados 168 (Fluxo) Procedimentos para consulta em uma tabela Conexão e Autenticação Envio de comando DML (Consulta) (S) Verifica se existe registro Exibe registros (N) FIM 169 mysql_num_rows() Retorna o número de linhas em um resultset retorna verdadeiro se existir linhas na consulta. 170 mysql_fetch_array() Retorna uma matriz que corresponde a linha obtida e move o ponteiro interno dos dados adiante. 171 Consultando dados em uma tabela mysql_num_rows(), mysql_fetch_array() <?php include("bd.php"); $result = mysql_query("select * from tabela"); if(mysql_num_rows($result) != 0){ while($linha = mysql_fetch_array($result)){ echo $linha["Nome"]."<br>"; } } ?> 172 Inserindo dados em uma tabela include("bd.php"); $vnome = "Carlos Marcelo"; $vcidade = "São José dos Campos"; $sql = "Insert into tabela(nome,cidade) values ('".$vnome."','".$vcidade."')"; $result = mysql_query($sql); if($result) { echo "<script>alert('Dados Inserido com sucesso !!')</script>"; } 173 Alterando dados de uma Tabela include("bd.php"); $vnome = "Carlos Marcelo"; $vcidade = "Campos do Jordão"; $cod = 9; $sql = "Update tabela set cidade ='".$vcidade."' where codigo = ".$cod; $result = mysql_query($sql); if($result) { echo "<script>alert('Dados atualizados com sucesso !!')</script>"; } 174 Remover dados de uma tabela include("bd.php"); $cod = 9; $sql = "Delete from tabela where codigo = ".$cod; $result = mysql_query($sql); if($result) { echo "<script>alert('Dados Removidos com sucesso com sucesso !!')</script>"; } 175