2016-05-27 27 views
0

我想在点击View文件中的按钮时更新数据库。Onclick使用AJAX在Codeigniter中更新数据库

VIEW

<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和控制器代码。当我点击按钮时,它显示未定义的索引。任何人都可以帮助我,我在这里错了。

+0

你确定你是在'已批准()函数''得到'butId? – Poonam

+0

不,我不是。它可以修改成别的东西吗? – Kirataka

回答

0

根据我的理解,我认为你没有得到正确的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> 
+0

不,我得到同样的错误。它在CONTROLLER中。它显示'未定义的索引:rowid'在我的控制器中的php文件 – Kirataka

+0

在'Approved()'函数中为'butId'做了一个'alert',以确保'butId'实际上存在 – Poonam

+0

它显示为undefined。 – Kirataka

相关问题