Então pessoal, resolvi o meu problema! Mas tive que criar outra view para
editar o cadastro, mas tudo bem, hehe.

Praticamente copiei a maneira de fazer a coisa do bambooinvoice, muito
obrigado pelo link Felipe!

Fiz assim:

Controller:

function edit($id)
    {

        #'Load' Rules and Fields Validation
        $this->load->view('validation/cadastro_validation.php', '',
FALSE);

        if ($this->validation->run() == FALSE)
        {
            $data['title'] = "Cadastrar";
            $data['heading'] = "ipzCAD";
            $data['css'] = array('ipzcad', 'form');
            $data['cadastro'] = $this->Cadastros->get_cadastro_by_id($id);
            $this->load->view('edit_cadastro' , $data);
        }
        else
        {
            $data['title'] = "Visualizar";
            $data['heading'] = "ipzCAD";
            $data['css'] = array('ipzcad', 'visualizar');
            $this->Cadastros->insert_cadastro();
            redirect('visualizar');
        }
    }

Bom,  peguei a idéia da linha
"$this->load->view('validation/cadastro_validation.php', ''  FALSE);" do
bamboo, na verdade essa me parece uma forma bem estranha de se fazer as
coisas, vocês acham o mesmo? Mas funciona e ajudou a deixar meu código mais
organizado.

Criei uma nova view, chamada edit_cadastro que na verdade é uma cópia da
view cadastro com algumas modificações, escrevi assim nessa view:

<input id="nome" name="nome" type="text" maxlength="255"
value="<?=$cadastro[0]->nome;?>"/>

$cadastro eu passo pelo $data para popular o formulário.

O que me parece estranho é que a validação funcionou dessa forma, enquanto
na view cadastro eu faço assim:

<input id="nome" name="nome" type="text" maxlength="255"
value="<?=$this->validation->nome;?>"/>

Bom é isso. Sou novato no negócio então queria saber se do jeito que estou
fazendo está correto, vocês fazem da mesma forma?

Abraços,
Alan



2008/7/21 Reginaldo Sousa <[EMAIL PROTECTED]>:

> Tenta algo assim:
> <input id="nome" name="nome" type="text" maxlength="255" value="<?php echo
> ($this->validation->nome) ? $this->validation->nome : $user->nome;?>"/>
>
>
> 2008/7/20 Alan <[EMAIL PROTECTED]>:
>
>> Sim, até ai tudo certo, simples para fazer. Mas, eu escrevi meu form dessa
>> forma:
>>
>> <input id="nome" name="nome" type="text" maxlength="255"
>> value="<?=$this->validation->nome;?>"/>
>>
>> Repare que estou usando a lib de validação do codeigniter. O que eu quero
>> fazer é popular o formulário mas sem ter que passar os valores pelo value,
>> ou se eu tiver que passar pelo value, manter o esquema de validação
>> funcionando. Como posso fazer isso?
>>
>> Abraços,
>> Alan
>>
>>
>> 2008/7/20 Cairo Noleto <[EMAIL PROTECTED]>:
>>
>> Na hora de carregar a view, passa a query com o objeto capturado do banco
>>> $this->load->view('view', $data);
>>>
>>> Já na view, faz algo parecido com isso:
>>> <input type="text" name="nome" value="<?= @$nome?>">
>>>
>>> 2008/7/20 Alan <[EMAIL PROTECTED]>:
>>>
>>> Então Vinicius,
>>>>
>>>> Essa parte de recuperar os dados e de usar as funções do Active Record
>>>> eu já aprendi. O que eu não sei como fazer é popular um formulário com 
>>>> essas
>>>> informações recuperadas. No caso, eu gostaria de usar o mesmo formulário 
>>>> que
>>>> eu tenho para adicionar um novo cadastro.
>>>>
>>>> Felipe,
>>>>
>>>> Valeu pelo link! Vou dar uma olhada no projeto agora mesmo!
>>>>
>>>> Abraços,
>>>> Alan
>>>>
>>>> 2008/7/19 Vinicius Cruz <[EMAIL PROTECTED]>:
>>>>
>>>> Oi Alan,
>>>>>
>>>>> Você pode resgatar o valor especifico, utilizando o
>>>>> $this->db->getwhere() no seu model. Nesse caso, vc utilizaria a função
>>>>> assim:
>>>>>
>>>>> $query = $this->db->getwhere('tabela', array('id'=>$id));
>>>>>
>>>>> Veja mais no manual:
>>>>> http://www.codeigniter.com.br/manual/database/active_record.html
>>>>>
>>>>> Para salvar as alterações, você usa o update, também especificado no
>>>>> manual.
>>>>>
>>>>> Falou!
>>>>> Vinicius
>>>>>
>>>>>
>>>>> 2008/7/18 Alan <[EMAIL PROTECTED]>:
>>>>>
>>>>>> Olá pessoal, tudo bom?
>>>>>>
>>>>>>
>>>>>> Estou desenvolvendo uma aplicação de cadastro. Esse cadastro está
>>>>>> funcionando muito bem, estou usando a lib de validação do codeigniter 
>>>>>> para
>>>>>> fazer a validação dos dados e fazer aquele esquema de re-popular os 
>>>>>> dados no
>>>>>> form caso algum dado esteja incorreto.
>>>>>>
>>>>>> Meu sistema está assim:
>>>>>>
>>>>>> model/cadastro.php
>>>>>> view/cadastro.php
>>>>>> controller/cadastro.php
>>>>>>
>>>>>> O controller cadastro.php contém:
>>>>>>
>>>>>> function add() (adiciona um cadastro, aqui é onde está a validação
>>>>>> tbm)
>>>>>> function view($id) (resgata um cadastro do banco (atrávez de funcao no
>>>>>> model) e abre uma view com os dados desse cadastro)
>>>>>> function edit($id) (Aqui é que está meu problema)
>>>>>>
>>>>>> Bom, o que eu quero fazer é que a função edit resgate um cadastro que
>>>>>> já está no banco para que ele seja editado. Como eu posso fazer isso? Eu
>>>>>> gostaria que a função edit resgatasse os dados do cadastro e que a view
>>>>>> cadastro.php fosse carregada com os campos populados com as informações
>>>>>> desse cadastro. Como eu posso fazer isso? Como vocês costumam fazer no
>>>>>> sistema de vocês esse esquema de crud?
>>>>>>
>>>>>> Valeu,
>>>>>> Alan
>>>>>>
>>>>>> _______________________________________________
>>>>>> 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
>>>>
>>>>
>>>
>>>
>>> --
>>> Cairo Noleto => http://www.caironoleto.com
>>> Add4 Comunicação => http://www.add4.com.br
>>> MSN Messenger => [EMAIL PROTECTED]
>>> Google talk => [EMAIL PROTECTED]
>>> Skype => cnoleto
>>>
>>> _______________________________________________
>>> 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
>>
>>
>
>
> --
> Reginaldo Sousa | Desenvolvedor web
> [EMAIL PROTECTED], [EMAIL PROTECTED]
> (21) 8728-1850
>
> _______________________________________________
> 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