a) b) c) d) e) f)
CREATE Cria uma nova Tabela no Banco de Dados: CREATE TABLE [nome_tab] (nome_campo tipo_campo (tamanho),...); ALTER Modifica a estrutura de uma Tabela existente: Para alterar o tamanho de um campo para 5, por exemplo: ALTER TABLE [nome_tab] CHANGE nome_campo nome_campo varchar(5); Para adicionar um novo campo: ALTER TABLE [nome_tab] ADD nome_campo tipo_campo(tamanho); DROP Remove definitivamente elementos como Campos e Tabelas. DROP TABLE [nome_tab]; Para remover apenas um campo da Tabela, e todos os dados contidos nele: ALTER TABLE [nome_tab] DROP [nome_campo]; INSERT Adiciona um Registro Tabela. INSERT INTO [nome_tab] ([nome_campo1], [nome_campo2],...) VALUES ([valor_campo1], [valor_campo2],...); UPDATE Modifica Dados em um Registro. Caso no declare a expresso WHERE, todos os registros sero modificados: UPDATE [nome_tab] SET [nome_campo1] = [novo_valor] WHERE [expresso];
SELECT Executa um consulta em uma Tabela, fazendo com que determinados registros sejam selecionados:
SELECT [nome_campo1, nome_campo2,...] FROM [nome_tab] WHERE [expresso] ORDER BY [nome_campo] ASC/DESC;
DELETE Remove definitivamente os elementos de uma Tabela.
Pgina 1
Neste curso optamos pela utilizao do MySQL por ser o mais popular entre os desenvolvedores PHP, possui vrias funes muito bem documentadas do PHP com o MySQL e cdigo aberto. No manual do PHP existe uma lista completa de funes, mas para nossos estudos, utilizaremos apenas as principais, para a simples conexo e seleo de dados. Abre uma conexo ao servidor MySQL. Requer o nome de host, nome de usurio e senha. Seleciona um Banco de Dados no MySQL, tornando-o ativo. Executa uma consulta ao Banco de Dados ativo. Obtm uma linha do resultado pesquisado, armazenando-a em uma matriz (array). Obtm os dados de um resultado.Consulta pelo nome ou posio. Fecha a conexo com o MySQL.
Neste curso optamos pela utilizao do MySQL, entretanto, se o seu ambiente de trabalho no inclui o MySQL, no h problema algum! O PHP inclui funes para o ODBC (Open DataBase Conectivity), o que muito til se a conexo for feita em um Banco de Dados Microsoft ACCESS em Windows: Abre uma conexo a ODBC. Requer o nome da origem (datasource) do Banco de Dados, nome de usurio e senha. L uma declarao SQL para execuo.. Executa uma declarao SQL. Coloca o resultado da sua declarao SQL dentro de uma pgina HTML bem formatada. Libera os recursos em uso pela conexo atual. Fecha a conexo atual.
Para fazer a conexo com o servidor, utiliza-se a funo mysql_connect() com os 3 parmetros:
mysql_connect("servidor","usurio","senha");
Vamos supor um exemplo com os seguintes parmetros: Nome do servidor: 192.168.0.3 Nome do usurio: userlgp Senha do usurio: nn //Criar conexo com o servidor $conectar = mysql_connect("192.168.0.3","userlgp","nn") or die ("No foi possvel conectar o servidor."); Neste exemplo, a funo mysql_connect() foi armazenada em uma varivel chamada $conectar, que ser utilizada em outros pontos do programa, sempre que for preciso se referir a esta conexo. Caso algum parmetro fornecido seja falso, a conexo no acontecer e ser executada a funo die(), que encerra a execuo e exibe uma mensagem na tela. A funo die() opcional. Note que os 3 parmetros esto entre aspas.
Resumo das Aulas de PHP com MySQL - Prof. Celso Gallo Pgina 2
Para fazer a conexo com o banco de dados, utiliza-se a funo mysql_select_db() com os 2 parmetros:
mysql_select_db("nome_do_BD", conexo_com_servidor);
Vamos supor o seguinte parmetro: Nome do banco de dados: BD_aluno Varivel para conectar o servidor: $conectar //Conectar com o Banco de Dados $banco = mysql_select_db("BD_aluno", $conectar) or die ("No foi possvel selecionar o Bco Dados."); Neste exemplo, a funo mysql_select_db()foi armazenada em uma varivel chamada $banco (opcional). Caso algum parmetro fornecido seja falso, a conexo no acontecer e ser executada a funo die(), que encerra a execuo e exibe uma mensagem na tela. A funo die() opcional. Note que o nome do banco de dados deve estar entre aspas, j a varivel $conectar no possui aspas.
Para executar uma tarefa em SQL, utiliza-se a funo mysql_query() com os 2 parmetros:
mysql_query(funo_SQL, conexo_com_servidor);
Vamos supor os seguintes parmetros: Varivel com os comandos SQL: $varSQL Varivel para conectar o servidor: $conectar //Executar um tarefa SQL $operacao = mysql_query($varSQL, $conectar) or die ("No foi possvel executar a operao."); Neste exemplo, a funo mysql_query() foi armazenada em uma varivel chamada $operacao. Caso algum parmetro fornecido seja falso, a conexo no acontecer e ser executada a funo die(), que encerra a execuo e exibe uma mensagem na tela. A funo die() opcional. Note que os 2 parmetros esto sem aspas pois so nomes de variveis.
Pgina 3
PARTE 03 - Consultando Banco de Dados 3. Consulta ao Banco de Dados MySQL atravs do PHP 3.1. Buscar os Dados na Tabela do Banco de Dados
Para buscar os dados de uma consulta SQL, utiliza-se a funo mysql_fetch_array() com 1 parmetro:
mysql_fetch_array(operao_SQL);
Vamos supor uma consulta que foi determinada pela funo descrita no item 2.3. Ento, para buscar os dados na tabela do MySQL, preciso criar um lao lgico (neste exemplo usamos while()) que ser executado enquanto houver registros que satisfaam o comando SQL armazenado na varivel $varSQL. Veja a seguir: //Executar uma consulta SQL $operacao = mysql_query($varSQL, $conectar) or die ("No foi possvel executar a operao."); while ($linha = mysql_fetch_array($operacao)) { //recebe os dados da tabela do MySQL } A funo mysql_fetch_array() busca um registro inteiro, contendo os campos especificados no comando SQL. Entretanto, todos os campos deste registro fazem parte de array, ou seja, um vetor que ter um nome determinado pelo programador. Neste exemplo este vetor se chama $linha, e receber todo o contedo da funo mysql_fetch_array(). Sendo assim, preciso receber os dados do vetor $linha e separ-los em variveis php, da mesma forma como se faz com $_POST ou $_GET. Veja como ficou o cdigo-fonte: //Executar uma consulta SQL $operacao = mysql_query($varSQL, $conectar) or die ("No foi possvel executar a operao."); while ($linha = mysql_fetch_array($operacao)) { //recebe os dados da tabela do MySQL $cod = $linha["COD"]; $nom = $linha["NOME"]; $pre = $linha["PRECO"]; echo "Cdigo: $cod - Nome: $nom - Preo: $pre <HR>"; } Note que COD, NOME e PRECO so campos da tabela MySQL que est sendo consultada. A partir deste momento, esses 3 campos esto armazenados em variveis do php e podero ser utilizados dentro do programa. Neste exemplo, os 3 campos esto sendo exibidos na tela, separados por um hfen, seguido de uma linha horizontal.
Pgina 4
Pgina 5
No prximo trecho do programa ser feita a busca e a exibio dos dados. Veja a seguir: <!-- Montar o cabealho da tabela HTML --> <TABLE WIDTH=100% BORDER=1> <TR> <TH>Cdigo</TH> <TH>Nome</TH> <TH>Descrio</TH> <TH>Preco</TH></TR> <? //Exibir na tela 1 registro por linha dentro da tabela HTML while ($linha = mysql_fetch_array($consulta)) { $cod = $linha["COD_DVD"]; $nom = $linha["NOME_DVD"]; $des = $linha["DESC_DVD"]; $pre = $linha["PRECO_DVD"]; $preF = number_format($pre,"2",",","."); echo"<TR> <TD>$cod</TD> <TD>$nom</TD> <TD>$des</TD> <TD align=right>$preF</TD></TR>"; } echo "</TABLE>"; //Libera recursos e fecha a conexo mysql_free_result($consulta); mysql_close(); ?> Neste segundo trecho do cdigo-fonte, foi montada uma tabela HTML para a exibio dos dados da tela. Primeiro foi montado um cabealho, como sendo a 1 linha desta tabela HTML, fora do lao lgico. Em seguida foi criado um lao lgico que executar a funo mysql_fetch_array()com o parmetro $consulta, e armazenar na varivel vetor $linha, enquanto houver registro que satisfaa a varivel $varSQL. Cada registro que buscado no MySQL, recebido pelo vetor $linha e atribudo s suas respectiva variveis do php. Note que a varivel $pre foi formatada para o padro monetrio brasileiro antes de ser exibida na tela.
Pgina 6
Para tanto, ao invs de editarmos 3 pginas de consulta para mostrar os resultados, faremos apenas uma, chamada ConGeral.php. Quando o usurio clicar no link desejado na pgina Menu.HTM, o prprio link enviar informaes atravs de variveis. Como j foi visto anteriormente, para enviar uma varivel pelo mtodo GET basta inserir o sinal de interrogao (?) logo aps o nome da pgina a ser acessada, seguido do nome da varivel e seu valor. Caso existam mais variveis a serem enviadas, acrescente o sinal de e-comercial (&) e digite nome e valor da segunda varivel, e assim por diante.
Pgina 7
Em seguida inicie a montagem da parte HTML, determinando cores para o fundo e para os textos. Exiba tambm uma mensagem dinmica no alto da pgina que depender do contedo da varivel $exibe. Certifique-se de ter fechado o PHP antes de escrever este trecho em HTML. <HTML> <HEAD><TITLE>Consulta de DVDs</TITLE></HEAD> <BODY BGCOLOR="#EEEEFF" TEXT="darkblue"> <center> <font face="Arial" size="4"> <? echo $exibe; ?> EM DVD<P> </font> </center> Agora crie a tabela HTML que exibir o resultado da consulta. Primeiro, a 1 linha de cabealho da tabela: <table width=100% border=1 bordercolor ='darkblue'> <tr bgcolor='orange'> <th width='100'>Foto</th> <th width='50'>Cdigo</th> <th width='100'>Nome</th> <th>Descrio</th> <th width='100'>Preco R$</th></tr> Ainda no feche a tabela. Abra o PHP e crie um lao lgico para a consulta no banco de dados. Cada DVD ser exibido em uma linha da tabela HTML: <? while ($linha = mysql_fetch_array($resultado)) { $foto = $linha["FOTO_DVD"]; $cod $tit $des $pre = $linha["COD_DVD"]; = $linha["NOME_DVD"]; = $linha["DESC_DVD"]; = $linha["PRECO_DVD"];
$preF = number_format ("$pre", 2, "," ,"."); echo"<TR BGCOLOR='white'> <td><img src='fotos/$foto' width='100' height='100' border='0'></td> <th>$cod</th> <td>$tit</td> <td>$des</td> <td align=right><b>$preF</b></td></TR>"; } echo "</TABLE>";
Repare que a varivel $preco foi formatada para valor monetrio brasileiro, e alinhada esquerda da clula.
Resumo das Aulas de PHP com MySQL - Prof. Celso Gallo Pgina 9
A varivel $foto armazena apenas o nome da foto a ser exibida. Como as fotos esto dentro de uma pasta chamada fotos, adicionamos essa informao dentro do parmetro src do tag <img>. Especificamos tambm o tamanho da foto com os parmetros width e height, para que no haja surpresa na exibio.
Para encerrar, liberamos os recursos do PHP, fechamos a conexo, encerramos o PHP e pgina HTML:
Pgina 10