【问题标题】:Onclick update database in Codeigniter using AJAX使用 AJAX 在 Codeigniter 中的 Onclick 更新数据库
【发布时间】:2016-09-25 16:58:50
【问题描述】:

当我单击视图文件中的按钮时,我想在数据库中进行更新。

查看

<tbody>
    <?php
    foreach($leavelist->result() as $key){
    echo '<tr>
    <td>'.$key->emp_id.'</td>
    <td>'.$key->status.'</td>
    <td><a id="a'.$key->emp_id.'" onclick="Approved(\''.$key->id.'\')" title="Approve" role="button" class="btn btn-sm btn-success" data-toggle="modal" success><i class="fa fa-check"></i></a></td>
    </tr>';
    }
?> 
</tbody>


<script>
function Approved(id){

    butId = $(this).attr('id');

    $.ajax({
          method: "POST",
          url: "<?php echo $this->config->item("index_url")."Admin/ApproveLeave";?>",
          data: { "rowid": butId },
          dataType:"text",
          success:function(data){
              alert(data);
          },
          error:function (data){
              alert("failed");
          }
        });

}
</script>

控制器

public function ApproveLeave(){
        $this->load->database();
        $this->load->model('general_model','gm');
        $inputdata=array('status'=>'Approved');
        $params=array('table_name'=>'leave_application','primary_key'=>'id');
        $this->gm->initialize($params);
        $this->gm->updateEntry($_POST['rowid'],$inputdata); 
    }

以上是我的 AJAX 和控制器代码。当我单击按钮时,它显示未定义的索引。谁能帮我解决我的错误。

【问题讨论】:

  • 你确定你在Approved()函数中得到butId 吗?
  • 不,我不是。可以修改成别的吗?

标签: javascript php jquery ajax codeigniter


【解决方案1】:

根据我的理解,我认为您没有正确获得butId

试试这个:

 <tbody>
    <?php
    foreach($leavelist->result() as $key){
    echo '<tr>
    <td>'.$key->emp_id.'</td>
    <td>'.$key->status.'</td>
    <td><a id="a'.$key->emp_id.'" onclick="Approved(a'.$key->emp_id.')" title="Approve" role="button" class="btn btn-sm btn-success" data-toggle="modal" success><i class="fa fa-check"></i></a></td>
    </tr>';
    }
?> 
</tbody>


<script>
function Approved(butId){


    $.ajax({
          method: "POST",
          url: "<?php echo $this->config->item("index_url")."Admin/ApproveLeave";?>",
          data: { rowid: butId },
          dataType:"text",
          success:function(data){
              alert(data);
          },
          error:function (data){
              alert("failed");
          }
        });

}
</script>

【讨论】:

  • 没有。我得到同样的错误。它在控制器中。它在我的控制器 php 文件中显示Undefined index:rowid
  • Approved() 函数中为butId 创建一个alert,以确保butId 确实存在
  • 在html中,id是否如你所愿?
  • 是的。我将 id 传递给数据库。
  • 我在说这个&lt;a id="a'.$key-&gt;emp_id.'" onclick="Approved(this)"&gt;idattribute
猜你喜欢
  • 1970-01-01
  • 2013-06-12
  • 1970-01-01
  • 2019-03-03
  • 1970-01-01
  • 2016-08-10
  • 1970-01-01
  • 2020-04-16
  • 2016-12-15
相关资源
最近更新 更多