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
---------------------------

Responder a