Você está na página 1de 10

Aplicação de Gestão de Contactos

Para que se consiga entender melhor as potencialidades do PHP relativamente à interacção com bases de dados,
iremos desenvolver, uma aplicação simples que poderá servir, futuramente, para tomar como ponto de partida
para o desenvolvimento de uma aplicação completa de gestão de contactos, implementada com as
funcionalidades adequadas ao seu caso.
Sendo o objectivo deste exemplo meramente pedagógico, esta aplicação será extremamente simples e permitirá
efectuar as operações mais elementares (editar/alterar, adicionar, eliminar) que uma aplicação deste tipo requer.

Considere uma base de dados chamada testeDB com apenas uma tabela chamada teste com a seguinte estrutura:

Selecção e visualização de registos


Geralmente, um script capaz de permitir efectuar a interrogação a bases de dados acaba por executar os
seguintes passos:
1) Define a condição de selecção/interrogação (query).
2) Liga-se ao servidor de base de dados e selecciona a base de dados.
3) Executa a condição de selecção/interrogação.
4) Obtém e formata os resultados.
Consideremos, então, o seguinte código para efectuar a criação dos scripts necessários para seleccionar e
visualizar os registos da base de dados “testeDB”:

Se reparar atentamente no final do script, aparece a instrução include (“menu.inc”). Esta instrução permite
incluir dentro do código PHP ficheiros de texto capazes de serem interpretados pelo servidor.
De facto, a utilização desta técnica permite executar um conjunto de instruções que, por serem repetitivas,
simplificam a gestão da aplicação para o programador.

Deste modo, conseguimos com a chamada do ficheiro “menu.inc” incluir código que aparece constantemente
ao longo da elaboração desta aplicação fazendo referência a este ficheiro e assim evita-se incluir linha a linha o
conteúdo deste ficheiro em cada um dos scripts em que a sua intervenção seja necessária.
O script “menu.inc” possui as seguintes instruções:
Repare-se que no “menu.inc” se faz referência a scripts que ainda não foram criados. Em conjunto com o script
anterior, o resultado final obtido é o da seguinte figura:

Para a aplicação ficar completa, ainda nos falta criar scripts que permitam adicionar, alterar e eliminar registos.
Obviamente que, para que tal seja possível, irá fazer-se recurso intensivo à utilização de formulários, que
permitirão uma maior interactividade com o utilizador.

Adição de registos
Para adicionar registos, iremos utilizar dois scripts: o “adic.php” que permite ao utilizador lançar os dados
através de um formulário que, por sua vez, irá executar o segundo script “adic1.php” capaz de efectuar a adição
desses registos à base de dados:
O resultado final obtido consiste num formulário que irá permitir ao utilizador lançar os dados em campos
específicos. Esse formulário tem o aspecto da seguinte figura:

Depois de o utilizador lançar os valores que pretende adicionar, o script “adic1.php” irá ser chamado e irá
estabelecer a ligação ao MySQL, seleccionar a base de dados e adicionar o novo registo caso o campo nome do
formulário não esteja em branco. De facto, a tarefa mais trabalhosa será realizada por este último script que será
o responsável pela interacção com a base de dados:
Resultado da inserção de novos registos

Um dos problemas que este script tem é o de, por engano, se poder repetir o lançamento do mesmo registo,
podendo no final haver mais de um registo para o mesmo indivíduo. Obviamente, é conveniente evitar este
contratempo, introduzindo algumas linhas de código que permitam verificar se um dado indivíduo já existe.
Deixa-se a alteração do script anterior ao teu cuidado de forma a puderes exercitares-te um pouco com o PHP.

Edição/alteração de um registo
Para editar e alterar um registo, a tarefa não é tão simples quanto a de uma adição. Existindo outros processos
mais expeditos do que o que vamos mencionar, acabam por ser mais confusos para quem se inicia nesta
linguagem.
O método que iremos utilizar faz recurso a três scripts: o script “alter.php” que permite listar os registos da base
de dados; mediante a selecção de um deles, o script “alter1.php” irá ser executado, colocando os valores
correspondentes ao registo seleccionado nos campos de um formulário; de seguida, esses campos, depois de
alterados, irão ser inseridos na base de dados mediante a execução do script “alter2.php”:
A grande diferença relativamente ao script “main.php” reside na introdução da seguinte linha de código:

<a href=\"alter1.php?identif=$id&telefon=$telf&nome=$nome\">$nome</a>

Esta linha cria uma ligação ao script “alter1.php” que permite, ao dar um dique sobre o campo nome do registo,
transferir algumas das suas variáveis para o script, que não é nada menos nada mais do que um formulário que
permite editar o conteúdo dos campos.
Repare-se que as variáveis transmitidas dão pelo nome de identif, telefon e nome, devendo ser chamadas por
esta designação para serem editadas no formulário criado pelo script “alter1.php”:

Registo seleccionado para alteração na base de dados:


O ponto mais interessante a referir neste script é o que se relaciona com o comando SQL de alteração do
registo. De notar que os registos passíveis de serem alterados são aqueles que obedecem ao critério id=$id. A
instrução SQL que executa a alteração é a seguinte:

$sql="update teste set nome='".$_REQUEST['nome']."',telefone='".$_REQUEST['telefone']."' where


id='".$_REQUEST['id']."'";

De referir que, em situações onde sejam seleccionados mais de um registo (não neste caso, por razões óbvias),
será de tomar cuidado com a utilização do comando mysql_result($resultado,0, “$field”). Como o campo id é
único, visto ser um campo-chave, não há necessidade de ser mais específico relativamente à cláusula where da
instrução SQL.
Eliminação de registos

Para eliminar um registo da base de dados, iremos proceder de um modo semelhante ao anterior, recorrendo a
dois scripts: um (“elim.php”) irá listar os registos e o outro (“eliminl.php”) permitirá a eliminação do registo
seleccionado:

Scrip elim.php

Resultado do script elim.php


Repare que se utilizou a variável PATH_INFO, que permite saber qual o nome e a localização deste script,
permitindo, quando se carrega no botão 0K, que o script se chame a si próprio.
Alem disso, repare que somente depois de confirmar a eliminação do registo é que esta operação irá ser
executada, isto é, é a partir desse instante que o registo será localizado e eliminado da base de dados.

A condição if ($Submit) é aqui de primordial importância pois, no caso de esta variável possuir um
determinado valor (esta variável passa a possuir um valor sempre que se carrega sobre o botão 0K), irá
processar o comando SQL sobre a base de dados de modo a eliminar o registo seleccionado.

Resultado do script elim1.php

Você também pode gostar