Codeigniter从表行中获取值以进行编辑或删除

时间:2015-02-10 19:11:04

标签: php html codeigniter

我正在从MySQL表中检索数据,并在<?php foreach ?> loop的HTML表格中显示,如下所示。

Displaying data in HTML Table from MySQL in Codeigniter

现在,我想通过按下表格的编辑或删除按钮来编辑/删除上述HTML表格的特定行的数据。我的MySQL表主键为branch_code

我知道如何在Codeigniter中更新/删除MySQL表中的数据,但我不知道如何从表行中检索数据。我无法尝试,因为我不知道如何启动它。

我发现类似的问题,如

  1. Get values from html table using codeigniter
  2. PHP-CodeIgniter: How to get the corresponding html table row values to be deleted by Javascript
  3. No#1 Collect all this data in an array and "send" it to your PHP via an Ajax POST request.写了No#2 -----好的,但我怎么能这样做?

    你能帮帮我吗?

    可能是我的问题是重复的,但我没有得到这些原件的任何答案,或者我会说,我无法继续这个过程。

    提前谢谢。

    更新

    来自$(document).on('click', '#deleteRow', function() { var obj = $(this).parent().parent(); var companyId = obj.attr('branch_code'); obj.remove(); }); 我得到了以下内容......

    <tr>

    我知道我应该为model添加唯一属性。

    现在我如何将变量中的值传递给MySQL,以便我可以更新$this->db->where('branch_code', $branch_code);表({{1}})?

1 个答案:

答案 0 :(得分:0)

我通常这样做的方式是当你为html表做渲染时,你会为每个<tr>创建一个唯一的id,所以你会做这样的事情:

<?php foreach ( $table->result() as $row): ?>
    <tr id="branch_<?= $row->branch_code ?>">
        <td>Whatever you want here</td>
        <td><a href="javascript:deleteBranch(<?= $row->branch_code; ?>)"></a></td>
    </tr>
<?php endforeach; ?>

然后你可以做一个AJAX调用来删除并用它获取那个id。

<script>
function deleteBranch(id) {
    $.post('controller_url', {"branch_code" : id }, function(data){
       //Your controller method would echo a 1 for success
       if (data == 1) {
           $("#branch_" + id).fadeOut();
           //show some kind of message
       }
    });
}
</script>

因此,您可以从控制器获得一个$this->input->post("branch_code"),您可以引用它来删除分支。