Olá, tentei da seguinte maneira no controller:
*function getValoresFK()
{
$data['formatos'] = $this->shows_m->listaFormatos();
$data['status'] = $this->shows_m->listaStatus();
return $data;
}*
E usei da seguinte forma
* function inserir()
{
if ($this->form_validation->run('shows')) //executa a validação
baseada nas regras definidas no arquivo de configuração
{ //se passou pela validação insere no banco
$data = $this->pegaValoresPost(); //pega os valores dos campos
que foram postados
$this->shows_m->inserir($data); //insere no banco utilizando o
modelo
redirect('shows'); //redireciona após inserir
} //fecha IF do form_validation
else //exibe o formulário
{
//zera os valores dos campos
$data['cod_show'] = '';
$data['status_show'] = '';
$data['nome_show'] = '';
$data['formato_show'] = '';
$data['action'] = 'inserir'; //adiciona uma ação ao formulário
//busca os valores que serão usados como FK
/*$data['formatos'] = $this->shows_m->listaFormatos();
$data['status'] = $this->shows_m->listaStatus();*/
$data = $this->getValoresFK();
$this->load->view('form_shows', $data); //carrega a view
} //fecha ELSE do form_validation
} //fecha a função INSERIR*
A minha view está assim:
*
<select name="formato_show" id="formato_show" >
<option value=""></option>
<?php foreach ($formatos as $formato) :?>
<option value="<?= $formato->cod_formato; ?>" <?=
set_select("formato_show", $formato->cod_formato, ($formato_show ==
$formato->cod_formato)); ?> ><?= $formato->nome_formato; ?></option>
<?php endforeach;?>
</select>*
Só que dessa forma ele não reconhece as minhas outras variáveis que estavam
armazendas em $data, tipo:
*$data['cod_show'] = '';
$data['status_show'] = '';
$data['nome_show'] = '';
$data['formato_show']*
E a minha view aparece toda desconfigurada, com mensagens do tipo: *Message:
Undefined variable: status_show*
2009/3/21 Beto <[email protected]>
> ola acho q seu problema deve esta relacionado ao escopo, ou seja do
> jeito q vc postou a variavel $data existe dentro do metodo apenas e
> por isso os selects vem em branco quando a view e carregada.
>
> tente dentro do metodo q vc não q re-escrever usar um return $data e
> recuperar esse return em uma variavel qualquer q sera passada p view.
>
> desculpe p n mostrar exemplos reais + qdo acesso o mail pelo telefone
> o email anterior não e exibido.
>
> caso vc n tenha compreendido o q tentei falar responde essa thread q
> tento te mandar um exemplo pratico.
>
> abzs
>
> On 3/21/09, Guilherme Soares <[email protected]> wrote:
> > Olá, sou iniciante no CodeIgniter e estou com uma dúvida aqui em um CRUD
> > simples q estou montando.
> >
> > Eu tenho um método inserir que em certo ponto utiliza um model para
> buscar
> > os valores que serão usados nos selects do meu form. Estou chamando ele
> da
> > seguinte forma:
> >
> > *$data['formatos'] = $this->shows_m->listaFormatos();
> > $data['status'] = $this->shows_m->listaStatus();
> >
> > $this->load->view('form_shows', $data);*
> >
> > Tudo funciona perfeitamente, porém eu tenho outro método chamado alterar
> e
> > nele eu também preciso dos valores para montar os selects. Mas eu tenho
> que
> > reescrever o trecho de código mostrado acima.
> >
> > O que eu queria é *NÃO ter que reescreve*r esse trecho de código. Tentei
> > criar um método para pegar esses valores, ficou assim:
> >
> > *function getValoresFK()
> > {
> > $data['formatos'] = $this->shows_m->listaFormatos();
> > $data['status'] = $this->shows_m->listaStatus();
> > }*
> >
> >
> > Dessa forma eu escreveria o código apenas 1 vez e chamaria esse método
> > dentro dos outros métodos. Estou chamando da seguinte forma:
> >
> > *$this->getValoresFK();
> > $this->load->view('form_shows', $data);*
> >
> > Só que infelizmente ele não funciona da maneira esperada. Aparentemente
> ele
> > não está chamando o método getValoresFK() pois qdo carrego a view os
> selects
> > ficam todos em branco.
> >
> > Bem, não sei se consegui expressar o meu problema da forma correta. Se
> > alguém puder me ajudar eu agradeceria.
> >
>
>
> --
> - - - - - - - - - - - - - - - - - - - - -
> Luiz Alberto S. Ribeiro [ Beto ]
> http://beto.euqueroserummacaco.com
>
> _______________________________________________
> 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