Bom, eu desenvolvi um helper proprio de combo, mas somente para tratar a
consulta do banco, retornando um array. O array retornado passo para o view
e chamo a função form_dropdown().

Posso disponibilizar depois, caso deseje. Só não sei se está perfeito (em
termo de programação), mas me atende tranquilamente.

Vinicius

2009/2/1 Julio Cesar <[email protected]>

> Olá, opa é uma ótima dica essa, o único defeito deste dropdown para mim, é
> que eu precisaria, fazer o SELECT do banco de dados de qualquer forma e
> depois jogar em uma array, e fazer isto na view de jeito nenhum né :D
> Então a própria função do helper já faz todo o trabalho, bastando na view
> chamar a função com os parâmetros e pronto :D  A questão do: "*fazer echo
> "<select>" ... bla bla bla.*"  só se faz necessário no helper ou seja, a
> função é implementada e pronto depois é só chamar * <?php
> combo_cria('tabela','campo');?>*  na view e a função se encarrega de todo
> o trabalho.
> Quanto a este helper, até já implementei a questão da array para mostrar no
> combo mais de um campo da tabela, e agora com este dropdown, vi mais uma
> questão interessante de ser implementado que seria de "dizer" qual opção
> deveria vir selecionada :D
> Mas é isso ae, fazendo e aprendendo.... :D
> Vlw
>
>
> 2009/2/2 Beto <[email protected]>
>
> nao sei se ajudaria ainda , mas  o helper Form cria os select de form
>> facil, entao vc nao precisaria fazer echo "<select>" ... bla bla bla.
>>
>> na documentacao do helper form procura por:form_dropdown()
>> []'s
>>
>> - - - - - - - - - - - - - - - - - - - - -
>> Luiz Alberto S. Ribeiro [ Beto ]
>> http://beto.euqueroserummacaco.com
>>
>>
>> 2009/2/1 Julio Cesar <[email protected]>
>>
>> Douglas! Perfeito era isso mesmo que eu estava precisando. Deu certo o
>>> helper :D
>>>
>>> Vou compartilhar aqui como que ficou a função:
>>>
>>>    * function combo_cria($tcTabela,$tcCampo){
>>>
>>>         $ci = & get_instance();
>>>
>>>         $rQuery = $ci->db->get($tcTabela);
>>>         echo "<select>";
>>>         foreach ($rQuery->result() as $row){
>>>             echo "<option>". $row->$tcCampo ."</option>";
>>>         }
>>>         echo "</select>";
>>>     }*
>>>
>>> Basta criar o helper no caso  o arquivo *combo_helper.php*  (Claro que
>>> crie o arquivo decente não só com a função :D)
>>> Depois para carregar o helper chamar assim: *
>>> $this->load->helper('combo');*
>>> E então para usar ele no seu view faça assim: * <?php
>>> combo_cria('tabela','campo');?> *
>>>
>>> Está ae a dica.
>>> Algumas coisas que poderiam ser melhoradas:
>>> 1. Fazer o combo ter uma opção em branco.
>>> 2. No parâmetro tcCampo tornar possível passar uma array para múltiplos
>>> campos....
>>> 3. Criar um parâmetro para uma condição WHERE, algo assim.
>>>
>>> Bem mas essas dicas estão ae só para quem quiser implementar algo mais
>>> prático :D
>>>
>>>
>>>
>>>
>>> 2009/2/1 Douglas G. Souza <[email protected]>
>>>
>>>  Júlio,
>>>>
>>>> Você pode usar da seguinte maneira:
>>>>
>>>> $ci = & get_instance();
>>>> $ci->db->get('tabela');
>>>>
>>>> E isso pode ser usado para qualquer outra classe dentro da instância do
>>>> CI.
>>>>
>>>>
>>>>
>>>> Julio Cesar escreveu:
>>>>
>>>> Olá, pessoal, estou fazendo um helper que cria um combo dos registros de
>>>> uma tabela, só que estou como um problemão.
>>>> Pois como que uso a classe db em um helper?
>>>> Porque eu não posso usar assim:  $this->db->get('tabela');     Porque na
>>>> verdade o $this aqui não existe. Então a pergunta
>>>> seria, como que eu posso usar as classes do CI como a db em um Helper?
>>>> Dei uma olhada nos outros helpers, nenhum usa classe db
>>>> Como poderia fazer?
>>>>
>>>> Obrigado pela atenção.
>>>>
>>>> ------------------------------
>>>>
>>>> _______________________________________________
>>>> Lista mailing 
>>>> [email protected]http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> Lista mailing list
>>>> [email protected]
>>>> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
>>>>
>>>>
>>>
>>> _______________________________________________
>>> Lista mailing list
>>> [email protected]
>>> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
>>>
>>>
>>
>> _______________________________________________
>> Lista mailing list
>> [email protected]
>> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
>>
>>
>
> _______________________________________________
> Lista mailing list
> [email protected]
> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
>
>
_______________________________________________
Lista mailing list
[email protected]
http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br

Responder a