我有一个动态列表,从我的php页面中的数据库加载。这个列表也有一个删除按钮。当我单击此按钮时,我需要获取此按钮的ID并从数据库中删除该行与PHP代码。
$dbh = new PDO("sqlite:database.sdb");
$sql ="SELECT * FROM clip";
foreach ($dbh->query($sql) as $row)
{
print 'Id: '. $row['id'] .'<br />';
echo '<input type="submit" id="'.$row['id'].'" value="delete" name="del">';
}
这也是我点击按钮的最终代码;
$dbh->exec("delete clip where id='in here should be button id'");
我如何连接这两个代码。谢谢。
答案 0 :(得分:0)
您可以将此工作jquery模板用于您的任务。它绑定到具有name="del"
的所有输入。
<script src="http://code.jquery.com/jquery-latest.min.js"
type="text/javascript"></script>
<script>
$(document).ready(function() {
$('input[name="del"]').on('click', function() {
alert('button id is '+$(this).attr('id'));
var button_id = $(this).attr('id');
$.ajax({
method: 'post',
url: "delete.php",
data: {'did':button_id},
dataType: "html",
success: function(result) {
alert(result);
}
});
});
});
</script>
在您的PHP删除文件中,您可以通过$_POST['did']
检索删除ID。
答案 1 :(得分:0)
鉴于您的问题的级别,我假设您不熟悉jQuery和AJAX,但您应该研究两者。
对于不使用这些的简单解决方案,您可以执行以下操作:
将输出更改为<input type="button" id="'.$row['id'].'" value="Delete" onclick="do_delete(this.id)">;
然后你需要服务器端的PHP脚本来处理删除功能,例如: yourhandler.php
<?
//connect to DB here
if ($_POST['id']) {
$sql = "delete from clip where id=:delete_id";
$stmt = $dbh->prepare($sql);
$stmt->execute([':delete_id'=>$_POST['id']]);
}
?>
然后在客户端,您需要一个在单击按钮时提交的表单。这是一个示例表单代码:
<form action="yourhandler.php" method="post" id="myform">
<!--Your PHP script which creates buttons-->
<input type="hidden" value="" name="id" id="delete_id">
</form>
<script>
function do_delete(which) {
var x = document.getElementById('delete_id');
x.value=which;
document.getElementById('myform').submit();
}
</script>