Dropdowns + CodeIgniter + Ajax

Nos últimos meses eu tenho usado o Code Igniter pra refazer um sistema da empresa onde estava trabalhando. O que mais chamou a minha atenção no CodeIgniter foi o fato de ele ser simples. Ele não te prende como os outros frameworks em php.  Tudo bem. O foco aqui não é falar do CodeIgniter em si. Para mais detalhes, visite www.codeigniter.com.

O foco aqui é mostrar como a simplicidade pode melhorar muito o código. Por exemplo, várias vezes eu preciso preencher dropdowns (ou combobox, ou simplesmente selects) com resultados de requisições ajax.
Vamos para um exemplo:
Tenho um dropdown onde escolho um estado e assim que selecionar o estado, o dropdown de cidades será preenchido com as cidades daquele estado. Deixando o javascript de lado, vou direto ao código em php.
Assim que buscar no banco de dados as cidades daquele estado, eu preencho uma variável com os resultados  como options em html do seguinte modo usando o Code Igniter:

$sql = “select id,nome from cidades where estado = ?”;
$query = $this->db->query($sql,$estado);
$html = “<select name=’cidade’>”;
foreach($query->result() as $row){
$html .= “<option value='” . $row[‘id’] . “‘>”. $row[‘nome’] . “</option>”;
}

$html .= “</select>”;

Esse pode ser o modo que a maioria dos programadores faz, mas o CodeIgniter pode tornar isso mais simples. Veja só:

$sql = “select id,nome from cidades where estado = ?”;
$query = $this->db->query($sql,$estado);

foreach($query->result() as $row){
$array[$row[‘id’]] = $row[‘nome’];
}

$html = form_dropdown(‘cidade’,$array);

O que quero mostrar é que utilizando um helper do CodeIgniter, meu código ficou mais limpo e, consequentemente, melhor para dar manutenção.
Na minha opinião, o CodeIgniter é um ótimo framework para quem não quer perder tempo.

Para mais detalhes, http://www.codeigniter.com

Dropdowns + CodeIgniter + Ajax

2 opiniões sobre “Dropdowns + CodeIgniter + Ajax

  • 02/08/2011 em 13:01
    Permalink

    @Ricardo, a parte do Ajax fica justamente com o Javascript fazendo a requisição a qualquer um dos scripts Php dos boxes.
    Eu estou devendo há bastante tempo alguns posts sobre JQuery, que é uma biblioteca em Javascript que tem como uma de suas funcionalidades o fácil uso de Ajax.
    Espero logo ter tempo pra poder escrever um pouco mais.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *