Particularmente prefiro usar uma solução um pouco diferente.
Meu controller vai assim,
function salvar() {
//Carregando os models
$this->load->model ( 'Avisos_model' );
$obj = array ('titulocomunicado' => $this->input->post (
'titulocomunicado' ), 'introcomunicado' => $this->input->post (
'introcomunicado' ), 'textocomunicado' => $this->input->post (
'textocomunicado' ), 'numcontrole' => $this->input->post ( 'numcontrole' ),
'status' => $this->input->post ( 'status' ) );
if (is_null ( $this->input->post ( 'idcomunicado' ) )) {
$data ['retorno'] = $this->Avisos_model->salvar ( $obj );
} else {
$id = $this->input->post ( 'idcomunicado' );
$data ['retorno'] = $this->Avisos_model->atualizar ( $id, $obj
);
}
redirect( 'avisos');
}
e no model assim:
//Recuperando categorias e totais de posts
function salvar($obj) {
$this->db->insert ( $this->table, $obj );
return $this->db->insert_id ();
}
function atualizar($id, $obj) {
$this->db->where ( 'idcomunicado', $id );
$this->db->update ( $this->table, $obj );
}
Ou seja, quando crio o controller ele tem uma regra basica se o id for
enviado juntamente com o array de dados, o controller direciona para o
atualizar, se não ele apenas salva no banco um novo registro, concordo que
sua solução é mais simples em uma query só, mas assim eu posso reutilizar
meu codigo de uma forma mais interessante sem contar que fica mais
organizado e uso os proprios comandos DB do code e não preciso fazer querys
sql ...
Bem, mas de qualquer forma funciona, mais uma vez eu digo, codigo é igual
nescau, com mais ou menos chocolate, mas todos são nescau e fica gostoso no
final.
Allan
On Wed, Aug 25, 2010 at 1:12 PM, Jackson Ferreira de Andrade Mafra <
[email protected]> wrote:
> A SQL fica assim, sem ter que fazer if no php...
>
>
> INSERT IGNORE INTO
> minha_tabela
> VALUES
> (meu_valor1, meu_, meu_valor3)
> ON DUPLICATE KEY campo2=meu_valor2, campo3=meu_valor3
>
>
> att.
> Jackson F. de A. Mafra
> Front-End / Back-End Software Engineer
> twitter: @jacksonfdam | LinkedIn: http://linkedin.com/in/jacksonfdam
>
>
>
> _______________________________________________
> [email protected]
> http://www.codeigniter.com.br
> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
>
> ---------------------------
> Oportunidade de negócio
> http://www.franquiasargohost.net
> ---------------------------
>
>
--
Allan Torres
_______________________________________________
[email protected]
http://www.codeigniter.com.br
http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
---------------------------
Oportunidade de negócio
http://www.franquiasargohost.net
---------------------------