单击相关按钮时更新用户

时间:2016-11-28 14:51:05

标签: php html

user table

我使用php和html设计了上表。我想要做的是在单击相应的更新按钮时更新相关用户的行。 这是如何创建表的

   <tr class="<?php if(isset($classname)) echo $classname;?>">
<td><input type="checkbox" name="users[]" value="<?php echo $row["NIC_NO"]; ?>" ></td>

<td><?php echo $row["USERNAME"]; ?></td>
<td><?php echo $row["ADMIN"]; ?></td>
<td><?php echo $row["NIC_NO"]; ?></td>
<td><?php echo $row["EB"]; ?></td>
<td><input type="button" name="<?php echo $row["NIC_NO"]; ?>" value="Update" onClick="setUpdateAction();" /></td>
</tr>

如何从相应的更新按钮获取值并仅编写sql代码以更新特定行?

2 个答案:

答案 0 :(得分:1)

在您的HTML中:

<tr class="<?php if(isset($classname)) echo $classname;?>" data-id="<?= $row["NIC_NO"]; ?>">
<td><input type="checkbox" name="users[]" value="<?php echo $row["NIC_NO"]; ?>" ></td>

<td><?php echo $row["USERNAME"]; ?></td>
<td><?php echo $row["ADMIN"]; ?></td>
<td><?php echo $row["NIC_NO"]; ?></td>
<td><?php echo $row["EB"]; ?></td>
<td><input type="button" data-id="<?= $row["NIC_NO"]; ?>" data-do="update"/></td>
</tr>

在你的JS(使用jQuery)中:

$("[data-do='update']").click(function(){
    var instance = $(this);
    $.ajax({
        type:"POST",
        url:"update.php",
        data:"id="+instance.attr('data-id'),
        success:function(response){
            trObject = $('tr[data-id="'+instance.attr('data-id')+'"]');
            tdObjects = trObject.find("td");
            tdObjects[1].html(response.USERNAME);
            tdObjects[2].html(response.ADMIN);
            tdObjects[3].html(response.NIC_NO);
            tdObjects[4].html(response.EB);
        }
    });
});

在你的update.php中

$id = $_POST['id'];
$stmt = $pdo->prepare('SELECT * FROM <table> WHERE NIC_NO = ?');
$stmt->execute(array($id));
$data = $stmt->fetch(PDO::FETCH_OBJ);
header('Content-Type: application/json; charset=utf-8');
echo json_encode($data);

答案 1 :(得分:0)

应该是:

<td><input type="button" name="NIC_CO" value="<?php echo $row["NIC_NO"]; ?>" onClick="setUpdateAction();" /></td>

该名称在服务器端是可访问的,因此您可以获得:

if (isset($_REQUEST["NIC_CO"]))
    $to_update = $_REQUEST["NIC_CO"];