Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/248.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用Ajax和jQuery向数据库提交数据-codeigniter提交_Php_Jquery_Ajax_Database_Codeigniter - Fatal编程技术网

Php 使用Ajax和jQuery向数据库提交数据-codeigniter提交

Php 使用Ajax和jQuery向数据库提交数据-codeigniter提交,php,jquery,ajax,database,codeigniter,Php,Jquery,Ajax,Database,Codeigniter,我正在创建一个codeigniter项目,其中我从数据库中获取了大量的项目,每个项目都有一个提交按钮,单击该按钮,使用AJAX和jQuery将数据存储到数据库中。 现在的问题是,当我提交任何项目时,只有第一个表单的数据被发送到将数据插入数据库的方法,请提供一些相同的解决方案。我的代码如下: <script type = "text/javascript"> $('.submit').click(function(){ var id = (this.id);

我正在创建一个codeigniter项目,其中我从数据库中获取了大量的项目,每个项目都有一个提交按钮,单击该按钮,使用AJAX和jQuery将数据存储到数据库中。 现在的问题是,当我提交任何项目时,只有第一个表单的数据被发送到将数据插入数据库的方法,请提供一些相同的解决方案。我的代码如下:

<script type = "text/javascript">
    $('.submit').click(function(){
        var id = (this.id);
        var form_data = {            //repair
            id: id,
            name: $('#name_' + id).val(),
            rate: $('#rate_' + id).val(),
            qty: $('#qty_' + id).val()
        };

    $.ajax({
        url: "<?php echo site_url('shop/add'); ?>",//repair
        type: 'POST',
        data: form_data, // $(this).serialize(); you can use this too
        success: function(msg) {
              alert("success..!! or any stupid msg");
        }

   });
   return false;

});

</script>
型号:

<?php
class Products_model extends CI_Model{

    function get_all(){

        $results = $this->db->get('tblUtensils')->result();

        return $results;
    }
    function get($id){
        $results = $this->db->get_where('tblUtensils', array('pkItemID' => $id))->result();
        $result = $results[0];

        return $result;
    }
}


?>

视图:


  • 关于codeigniter和ajax,之前已经发布了很多问题,但是没有一个能够解决我的问题,所以我发布了这个问题,感谢您的帮助。

    更改

    <?php echo form_open('shop/add', 'id="form"'); ?>
    

    我尝试了很多方法来处理这个问题,最后对我有效的方法如下:

    <script type = "text/javascript">
        $('.submit').click(function(){
            var id = (this.id);
            var form_data = {            //repair
                id: id,
                name: $('#name_' + id).val(),
                rate: $('#rate_' + id).val(),
                qty: $('#qty_' + id).val()
            };
    
        $.ajax({
            url: "<?php echo site_url('shop/add'); ?>",//repair
            type: 'POST',
            data: form_data, // $(this).serialize(); you can use this too
            success: function(msg) {
                  alert("success..!! or any stupid msg");
            }
    
       });
       return false;
    
    });
    
    </script>
    
    
    $('.submit')。单击(函数(){
    var id=(this.id);
    var form_data={//repair
    id:id,
    名称:$('#名称'+id).val(),
    速率:$('#速率'+id).val(),
    数量:$('#数量'+id).val()
    };
    $.ajax({
    url:,//修复
    键入:“POST”,
    数据:form_data,//$(this).serialize();您也可以使用它
    成功:功能(msg){
    警惕(“成功..!!或任何愚蠢的消息”);
    }
    });
    返回false;
    });
    
    请在这里阅读关于DOM的内容:您的表单具有相同的Id。那么解决方案是什么呢?我将class=“submit”和Id=“Id”添加到了我的提交按钮中,这样现在我可以使用它的onClick事件来获取Id,而Id又是我需要分配给变量“Id”的值。谢谢大家的帮助。。
    <?php echo form_open('shop/add', 'id="form_' . $id . '"'); ?>
    
    <script type = "text/javascript">
        $('.submit').click(function(){
            var id = (this.id);
            var form_data = {            //repair
                id: id,
                name: $('#name_' + id).val(),
                rate: $('#rate_' + id).val(),
                qty: $('#qty_' + id).val()
            };
    
        $.ajax({
            url: "<?php echo site_url('shop/add'); ?>",//repair
            type: 'POST',
            data: form_data, // $(this).serialize(); you can use this too
            success: function(msg) {
                  alert("success..!! or any stupid msg");
            }
    
       });
       return false;
    
    });
    
    </script>