Gerenciador de Contatos v1.0 [parte 1]

21 04 2008

Salve salve meus ilustríssimos visitantes, cá estou de volta e, como prometido, trazendo o Artigo sobre o Gerenciador de Contatos. Gostaria de lembrar-vos que esse projeto é OpenSource, ou seja, você poderá usar, modificar e é totalmente encorajado a distribuir essa versão (ou a editada) desde que seja mantido os devidos créditos. Aliás, esse é o meu primeiro projeto OpenSource, espero que gostem ;)

Bom, então vamos digitar código né??

Crie o BD e a tabela com o seguinte script SQL:

CREATE DATABASE gerenciador;
 USE gerenciador;

CREATE TABLE IF NOT EXISTS contatos (
  ID int(5) NOT NULL auto_increment,
  nome varchar(255) NOT NULL,
  telefone varchar(255) NOT NULL,
  celular varchar(255) NOT NULL,
  email varchar(255) NOT NULL,
 UNIQUE KEY ID (ID) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

Começaremos por um arquivo chamado “funcoes.php”, onde serão escritas todas as funções do aplicativo, facilitando assim a manutenção e poluindo menos as páginas :D . Abra então seu editor preferido e comece abrindo a tag PHP: <?php .

A primeira função será a que facilitará a conexão com o MySQL:

function Conectar( $user, $password, $local="localhost" ) {
  $conexao = @mysql_connect( $local, $user, $password ) or die( "Erro: ".mysql_error() );
  if ( $conexao ) { $bd = @mysql_select_db( "gerenciador" ) or die( "Erro: ".mysql_error() ); }
}

Veja que passamos 3 parâmetros para ela, sendo dois obrigatórios ($user e $password) e um opcional ($local, que se não for passado recebe o valor “localhost”). Fazemos então a conexão e testamos se ela foi realizada com sucesso, se sim, ele escolhe o banco “gerenciador” para o uso. Pode parecer uma função simples, mas realmente é muito útil pois toda vez que precisar realizar uma conexão tudo o que precisa digitar é Conectar(“user”, “senha”);.

Vamos então agora a função Listar();

function Listar() {
  Conectar("user", "senha"); //Passe seu user e senha como parametros.
  $query_lista = "SELECT * FROM contatos ORDER BY nome ASC";
  $resultado = @mysql_query($query_lista) or die("Erro: ".mysql_error());
  if ($resultado) {
   $total = mysql_num_rows($resultado);
   if (mysql_num_rows($resultado) != 0) {
    echo "<table border=\"0\"><tr bgcolor=\"#ff2200\"><td>Nome</td><td>Telefone</td><td>Celular</td><td>E-mail</td><td>Opções</td></tr>";
    while ($linha = mysql_fetch_array($resultado)) {
     if ($i % 2 == 0) { $cor = ""; }
     else { $cor = "#EEEEEE"; }
     echo "<tr bgcolor=\"".$cor."\"><td>".$linha["nome"]."</td><td>".$linha["telefone"]."</td><td>".$linha["celular"]."</td><td>".$linha["email"]."</td><td><a href=\"editar.php?ID=".$linha["ID"]."\">Editar</a> | <a href=\"deletar.php?ID=".$linha["ID"]."\">Deletar</a></td></tr>";
     $i++;
    }
    echo "</table><br/><br/>";
   }
   echo "Você possui ".$total." contatos cadastrados. Deseja <a href=\"adicionar.php\"> adicionar</a> outro?";
  }
}

Essa função realiza a consulta no banco de dados e nos mostra os resultados numa tabela zebrada (ou seja, sempre que precisar listar todos os contatos, basta digitar Listar();, mais simples impossível não é mesmo? ;) ). Ela possui também um contador, onde é possível ver quantos registros você possui.

Que tal escrevermos a função Adicionar()? Vamos lá então ;)

function Adicionar($nome, $telefone, $celular, $email) {
  Conectar("user", "senha"); //Passe seu user e sua senha como parametros.
  if ( $nome == "" ) { $nome = "NULO"; }
  if ( $telefone == "" ) { $telefone = "(00) 0000-0000"; }
  if ( $celular == "" ) { $celular = "(00) 0000-0000"; }
  if ( $email == "" ) { $email = "nenhum fornecido"; }
  $query_adic = "INSERT INTO contatos (ID, nome, telefone, celular, email) VALUES ('NULL', '$nome', '$telefone', '$celular', '$email')";
  $resultado_adic = mysql_query($query_adic) or die("Erro: ".mysql_error());
}

Bom, essa função serve exatamente para fazer o que o nome propõe, adicionar um novo contato, ela possui uma série de testes para atribuir valores às variáveis se as mesmas forem vazias. Novamente, visando a facilidade da inserção, basta digitar Adicionar(“nome”, “telefone”, “celular”, “email”); para que as informações sejam armazenadas no BD.

Mas Simonarde, eu já adicionei, já listei, mas é se eu quiser remover? Vamos resolver isso agora caro visitante, com a função Deletar();

function Deletar($id) {
  $query_del2 = "DELETE FROM contatos WHERE ID='$id'";
  $resultado_del2 = @mysql_query($query_del2) or die("Erro: ".mysql_error());
  if ($resultado_del2) {
   echo "Removido com Sucesso! Clique <a href=\"index.php\">aqui</a> para retornar.";
  }
}

Pronto, basta passar como parâmetro o ID do contato que queres deletar e pronto (Deletar(3); por exemplo), ele será removido do DB ;) .

E se eu coloquei as informações erradas Simonarde, vou ter que apagar o contato e cadastrar de novo? Não ilustríssimo, você vai desenvolver agora a função Editar() e Editando(), uma vai buscar as informações no BD e a outra vai alterar esse registro :D

function Editar($id, $nome, $telefone, $celular, $email) {
  Conectar( "user", "senha"); //Passe seu user e sua senha como parametros.
  if ( $nome == "" ) { $nome = "NULO"; }
  if ( $telefone == "" ) { $telefone = "(00) 0000-0000"; }
  if ( $celular == "" ) { $celular = "(00) 0000-0000"; }
  if ( $email == "" ) { $email = "nenhum fornecido"; }

  $query_edit = "UPDATE contatos SET nome='$nome', telefone='$telefone', celular='$celular', email='$email' WHERE ID='$id'";
  $resultado_edit = mysql_query($query_edit) or die("Erro: ".mysql_error());
 }

function Editando($ide) {
  Conectar( "user", "senha"); //Passe seu user e sua senha como parametros.
  $query_edit2 = "SELECT * FROM contatos WHERE ID='$ide'";
  $resultado_edit2 = mysql_query($query_edit2) or die("Erro: ".mysql_error());
  if ($resultado_edit2) {
   while ($linha_edit2 = mysql_fetch_array($resultado_edit2)) {
    echo "<form action=\"editar.php\">
           Nome: <input type=\"text\" name=\"nomec\" value=\"".$linha_edit2["nome"]."\"> <br/>
           Telefone: <input type=\"text\" name=\"telefonec\" value=\"".$linha_edit2["telefone"]."\"> <br/>
           Celular: <input type=\"text\" name=\"celularc\" value=\"".$linha_edit2["celular"]."\"> <br/>
           E-mail: <input type=\"text\" name=\"emailc\" value=\"".$linha_edit2["email"]."\"> <br/>
           <input type=\"hidden\" name=\"valida\" value=\"ok\">
           <input type=\"hidden\" name=\"ID\" value=\"".$linha_edit2["ID"]."\">
           <input type=\"submit\" value=\"Editar\"> <input type=\"button\" value=\"Cancelar\" onClick=\"javascript:history.back(1);\">
          </form>";
   }
  }
 }

Pronto, para apresentar um formulário com as informações a serem editadas, basta digitar Editando(ID); passando o ID do contato a ser editado como parametro, já para salvar, basta digitar Editar(“ID”, “nome”, “telefone”, “celular”, “email”); passando as informações como parametro, simples não? ;)

Bom, agora só falta você fechar a tag PHP que você abriu lááá no começo do Artigo, para tal, digite: ?> e com essas funções escritas, seu arquivo “funcoes.php” está completo e pronto para uso.

No próximo post, iremos desenvolver a “index.php”, que será responsável por mostrar os contatos cadastrados e oferecer a opção para inserir um novo registro no BD.

Até lá ;)

Simonarde Jr.


Ações

Informações

Deixe um comentário