php - grocery crud 多次插入重复数据

标签 php codeigniter grocery-crud

您好,我正在将 Grocery CRUD 与 HMVC 结合使用,但我遇到了一些奇怪的问题。

class Source extends MX_Controller
{

    function __construct() {
      parent::__construct();
    }

    function index(){
            try{
                $crud = new grocery_CRUD();

                $crud->set_theme('datatables');
                $crud->set_table('source');
                $crud->set_subject('Source');

                $output = $crud->render();
                $data['css_files'] = $output->css_files;
                $data['js_files'] = $output->js_files;
                $data['output'] = $output->output;

                $this->template->title('Source')
                    ->set_layout('default')
                    ->build('example', $data );

            }catch(Exception $e){
                show_error($e->getMessage().' --- '.$e->getTraceAsString());
            }
    }
}

并且在源表中我只有一列“name”,其他是带有自动递增和主键的 id。

当我添加或插入数据时,它有时会在表中添加多个数据 3 或 4 次重复数据。

我也在用模板库。

这是我第一次遇到这个 Grocery Crud 的奇怪问题,任何人都可以帮助我解决这个问题。

最佳答案

我确实遇到了多次插入 grocerycrud 数据的问题,我通过将以下代码添加到 js 文件来解决这个问题。

我使用的是数据表主题,文件是 grocery_crud\themes\datatables\js\datatables-add.js

$('#save-and-go-back-button').click(function(event){
        event.stopImmediatePropagation();
        save_and_close = true;

        $('#crudForm').trigger('submit');
});

$('#crudForm').submit(function(event){
        event.stopImmediatePropagation();
        $(this).ajaxSubmit({
            url: validation_url,
.......

我们需要添加“event.stopImmediatePropagation();”单击并提交事件后。

这将有助于停止重复插入。

关于php - grocery crud 多次插入重复数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32242834/

相关文章:

php - 使用 PHP 无法将 Web 服务器上的更改“提交”到 Github 存储库

mysql - 使用 GroceryCrud 自定义下拉菜单?

codeigniter - 将 javascript 函数添加到 grocerycrud 添加或编辑表单

codeigniter - 将 'fake' 字段添加到 Grocery Grocery 添加/编辑表单

php - PDO 查询故障排除

php - 将自定义 PHP-CodeSniffer 规则集成到 Eclipse

php - 是否可以将Keycloak用作IDP,将PHP应用用作SP?

php - codeigniter 3 get_where sql查询函数

php - SQL 语法错误代码 1064

php - 如何在 codeigniter 中使用 insert_batch 插入多个数据