【问题标题】:X-editable: How to get id of each row so I can update individual members?X-editable:如何获取每一行的 id,以便我可以更新单个成员?
【发布时间】:2016-04-03 19:04:41
【问题描述】:

这是我的代码的相关部分。我正在使用 mysql 查询来获取所有信息并将其显示在表中。目前该表显示所有用户的信息,可编辑。我想让它只显示用户 ID、用户名、...,然后有一个按钮,我可以单击该按钮将我带到一个页面,我可以在其中更新所有个人用户信息。每行都会有一个可以点击的按钮

<td data-th="ID">'.$fetch['userID'].'</td>
<td class="userInfo" data-th="Username"id="'.$fetch['userID'].'"key="username">'.$fetch['username'].'</td>
<td class="userInfo" data-th="End" id="'.$fetch['userID'].'" key="end_date">'.$fetch['end_date'].'</td>

每一行都会有这个按钮。我希望能够单击它并让它将我带到另一个页面,其中列出了个人用户信息,以便可以更新它。我不确定如何完成这项工作。如何传递要更新的用户所在行的用户 ID?

<td> <a href="updatemember.php" class="btn btn-secondary btn-lg" role="button">Link</a> </td>

javascript

    jQuery(document).ready(function() {
        $.fn.editable.defaults.mode = 'popup';
        $('.userInfo').editable();
        $(document).on('click','.editable-submit',function() {
            var col = $(this).closest('.editable-container').prev().attr('key');
            var x = $(this).closest('.editable-container').prev().attr('id');
            var y = $('.input-sm').val();
            var z = $(this).closest('.editable-container').prev().text(y);

            $.ajax( {
                url: "process.php?id="+x+"&data="+y+'&col='+col,
                type: 'GET',
                success: function(s){
                    if(s == 'status') {
                        $(z).html(y);
                    }
                    if(s == 'error') {
                        alert('Error.');
                    }
                },
                error: function(e){
                    alert('Error.');
                }
            });
        });
    });

更新每一行的代码

$col=$_GET['col'];
$id = $_GET['id'];
$data = $_GET['data'];

$pbr = $conn->prepare("UPDATE `loginInfo` l
                     INNER JOIN `memberInfo` AS m
                     ON l.userID = m.UserID
                     SET $col = '$data'
                     WHERE m.userID = ?");
$pbr->bind_param("i", $id);
$pbr->execute();

【问题讨论】:

    标签: javascript php jquery mysql x-editable


    【解决方案1】:

    最短的方法是将当前记录的 id 存储在您的标签 id 中。在您的 php 代码中,当您输出表格时:echo "&lt;a href='...' id='$id' .....&gt;" 在您的 jQuery 中,您可以通过 onClick 处理程序中的 id = $(this).attr("id") 获取它。

    【讨论】:

    • 对不起,我还是一头雾水。所以我应该在我的按钮上添加这个&lt;td&gt; &lt;a href="updatemember.php" id = '$id' class="btn btn-secondary btn-lg" role="button"&gt;Link&lt;/a&gt; &lt;/td&gt;,而不是我应该创建一个新的点击处理程序,还是我可以只使用第一篇文章中的当前处理程序? $(document).on('click','.editable-submit',function() { var id = $(this).attr("id"); 抱歉,我没有太多处理 javascript。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多