如何防止重复记录?

时间:2015-07-06 15:39:31

标签: php mysql codeigniter datetime

我对CodeIgniter一无所知,希望得到一些帮助。在我工作的公司里,有一种服装租赁预订系统,因此,新娘需要在去商店之前通过在线系统安排日期时间。该脚本是用Codeigniter编写的,错误是什么:一些记录在数据库中被复制,我的意思是,id保持不同,但是在管理员中,同一个客户被安排在相同的日期时间安排4次,5次,无论如何。这是在数据库中创建/插入计划的代码:

$agendamento = Agendamento::create(array(
    'loja_id'           => $this->input->post('loja_id'),
    'usuario_id'        => $this->input->post('usuario_id'),
    'datahora'          => $this->input->post('datahora'),
    'loja'              => $loja->nome,
    'ultima_alteracao'  => date('Y-m-d h:j:s'),
    'status'            => 'D-2'
));

以上数据来自ajax请求,此处:

$('#confirma_agendamento').on('click touchstart', function() {
    $.ajax({
        "dataType" : "text",
        "type" : "POST",
        "data" : {
            "loja_id" : loja_selecionada,
            "lista_espera" : lista_espera,
            "usuario_id" : usuario_id,
            "datahora" : data_selecionada + " " + hora_selecionada + ":00:00",
            //"vestidos" : $("#vestidos").val()
        },
        "url" : base_url + 'ajax/lojas/agendar',
        "success" : function (retorno) {
            if (retorno == '1') {
                window.location = SITE_URL + 'meus_agendamentos';
            }
            else {
                showModal('<h1>Erro</h1><p>Houve algum problema com o seu agendamento. Por favor tente novamente em alguns instantes.</p>');
            }
        },
        "error" : function() {
            showModal('<h1>Erro</h1><p>Houve algum problema com o seu agendamento. Por favor tente novamente em alguns instantes.</p>');
        }
    });
});

所以,我的问题是:如何通过datetime防止重复记录,我的意思是,在codeigniter中避免同一日期时间的2条记录?

1 个答案:

答案 0 :(得分:1)

在你的ajax请求url“url”:base_url +'ajax / lojas / agendar',ajx控制器lojas方法中的menas,你首先需要检查已经留在或不在数据库中的数据。如果找到数据然后不插入,如果数据不在数据库中,则写入插入查询