Combo box com ajax e Jquery

18 de janeiro de 2010

Olá amigos venho hoje através deste artigo mostrar como criar um combo box com ajax usando Jquery, tenho certeza que será muito útil para muita gente, principalmente para quem ainda não conhece esta biblioteca fantástica de javascript que é a Jquery.

Existem outras bibliotecas e principalmente outros métodos para criar um combo-box com ajax, mas usarei neste artigo Jquery pela sua simplicidade e facilidade que ela proporciona. Até porque na web todos querem fazer as coisas muito rápido, então nada melhor que Jquery quando se fala em velocidade de desenvolvimento.

Vamos lá a primeira coisa que devemos fazer é o download da Jquery neste endereço: http://jquery.com/

Após o download vamos colocá-la na pasta do nosso projeto. Não esqueçam ok.

Agora com a biblioteca na pasta dos nossos arquivos, vamos começar a criar a página em html que servirá como exemplo para o nosso artigo.

<html>
			<head>
				<title>Ajax com Jquery</title>
				<script type="text/javascript" src="js/jquery.js"></script>
				<script type="text/javascript" src="js/cidadeAjax.js"></script>
			</head>
			<body>
				<form action="#" name="#" method="post">
					<label>Estado</label>
					<select name="uf">
						<option value="SP">SP</option>
						<option value="RJ">RJ</option>
						<option value="MG">MG</option>
					</select>
					<label>Cidade</label>
					<select name="cidades">
						<option value="0">--Primeiro selecione o estado--</option>
					</select>
				</form>
			</body>
		</html>

Pronto com o nosso arquivo html completo vamos criar o nosso script para realizar a mágica, vamos lá, eu por motivo de organização prefiro criar em um arquivo javascript separado da página então vamos criá-lo com o nome de cidadeAjax.js e colocar este código abaixo:

     //Aqui nós vamos iniciar a função após a mudança do select uf
     $("select[@name=uf]").change(function(){
          //Com isso nós vamos mudar o segundo select para procurando
          $('select[@name=cidades]').html('Procurando :::::::');
          //Aqui nós fazemos a requisição ajax para a página php utilizando Jquery
          $.post('buscacidade.php', { estado : $(this).val() },function(resposta){
               //Nesta linha nós preenchemos o select cidades com a resposta da
              //página php obtida no nosso arquivo php
              $('select[@name=cidades]').html(resposta);
          });
     });

E lógico pra finalizar vamos criar o nosso arquivo php que serve para fazer a busca no banco de dados e retornar a lista de cidades. Estou fazendo isto pensando que vocês já tem pelo menos uma tabela no banco de dados com as cidades cadastradas. Quem quiser pode adaptar o script para buscas as cidades de uma lista XML.

Pois bem aqui está o arquivo PHP vamos chamá-lo de buscacidade.php:

     if (isset($_POST['estado'])){
          $res=mysql_query('SELECT cidade FROM cidades WHERE uf = \''.
          $_POST['estado'].'\'');
          while($dados = mysql_fetch_array($res)){
               $cidades .= $dados['cidade'];
          }
          echo ''.$cidades.'';
     }else{
          echo 'Erro no envio dos dados';
     }

Pronto com estes arquivos já estamos com o nosso combo-box funcionando, logicamente estes arquivos podem e devem ser alterados de acordo com a sua necessidade. É possivel que ocorra erros de acentuação com quem estiver usando banco de dados SqlServer, para que isto não aconteça tente decodificar a variável cidades com a função utf8_encode.

Espero que tenha ficado claro o funcionamento do script, não tive a intenção de explicar detalhadamente, porque fiz este artigo pensando em demonstrar o funcionamento do framework Jquery e não PHP nem HTML, portanto espero que o leitor que for implementar este recurso já tenha prévios conhecimentos nestas linguagens, tudo bem. Dúvidadas coloquem ai embaixo, até mais.

Anúncios

Instalando o apache+php5+mysql no linux

20 de julho de 2008

Algumas pessoas que acabam de migrar do windows tem um pouco de dificuldade de instalar alguns programas no linux, por isso este autor que vos escreve vem aqui com o singilo conhecimento para ajudar estas almas recém chegadas ao mundo livre.

Vamos por começar abrindo o terminal, porque é por ele que faremos tudo. Com o terminal aberto digite:

sudo apt-get install apache2 php5 php5-mysql mysql-admin

Depois dele ter feito o download e instalar tudo pra você, vamos instalar o phpmyadmin. O phpmyqdmin é um componente que o ajudará na criação de tabelas e inclusão de dados no seu banco de dados mysql sem a necessidade de saber a linguagem sql para executar tal feito.

Com o terminal aberto digite:

sudo apt-get install phpmyadmin

pronto após o download e instalação você já tem tudo para começar a programar suas páginas php com o suporte ao banco de dados mysql.

Para configurar a senha e usuário do banco de dados digite no terminal:

sudo mysqladmin -u root password

Pronto no lugar de root você coloca o usuário que quiser e depois o sistema te pede a senha e você coloca a que desejar também.

Para testar o sistema crie uma página com o seguinte código:

<?php

phpinfo();

?>

Salve o código na pasta /var/www/ com nome de index.php

e depois abra o seu navegador e digite localhost/index.php

Se aparecer as informações do php é porque está funcionando normal, caso isto não aconteça coloque suas dúvidas nos comentários que eu respondo ou me envie um email edicarlosbarbosa@gmail.com

Espero que tenha ajudado à todos, bom divertimento.