我试图通过AJAX调用从数据库中删除文件。但我想我错过了一些事情......我只得到* del“。$ row1 ['id']。” *而不是del id ...请帮助我。
//我的主文件//
<html>
<body>
<script src="assets/js/jquery.min.js"></script>
<div class="col-sm-9 col-sm-offset-3 col-md-10 col-md-offset-2 main">
<h3><p align="center"><u>Filer ladda upp och ned</u></p></h3>
<div class="table-responsive">
<form enctype="multipart/form-data" action="" name="form" method="post">
<table id="files" border="1" align="center" id="table1" cellpadding="0" cellspacing="0">
<tr><td align="center">DOWNLOAD</td></tr>
<?php
$select=mysql_query("select * from upload order by id desc");
while($row1=mysql_fetch_array($select)){
$name=$row1['name'];
?>
<tr>
<td width="300">
<img src="files/tick.png" width="14" height="14"><p><?php echo $name ;?></p>
<a data-value=".$row1['id']." id=del".$row1['id'].">Delete</a>
</td>
<?php }?>
</tr>
</table>
<script src="assets/js/jquery.min.js"></script>
<script>
$(".del<?php echo $row1['id']; ?>").click(function() {
if (confirm("Are you sure want to delete?")) {
var delcart = $(this).data('value');
//alert(delcart);
$.ajax({
type: "GET",
url: "del_file.php",
data: {id : delcart},
success: function (data) {
if (data) {
//alert('data');
window.location.reload();
}
}
});
}
//alert($(this).data('value'));
});
</script>
</form>
</div>
</div>
<br />
<br />
</body>
</html>
//我的del_file.php //
<?php
$del_id = $_GET['id'];
echo $del_id;
include'config.php' ;
$delete_item = mysql_query("delete from upload where id = $del_id ");
if($delete_item){
echo '1';
}else{
echo '0';
}
?>
谢谢。
答案 0 :(得分:2)
你正在以错误的方式做事。没有$row1['id']
的{{1}}只会变成一个<?php ?>
的字符串,而不是循环中的id。另一件事是你的javascript选择器完全无效,因为它在循环之外并且它根本不起作用。所以你最好遵循以下代码,并以更好的方式实现。
再次注意:
您的$row1['id']
不在while循环中,因此$row1['id']
完全无效,并不代表任何内容。
当您从同一页面定位多个文件时(让我们举例说明有多个元素并触发删除连接到相同javascript函数的文件)您可以使用$row1['id']
获取多个元素的单击事件相同的范围。
将删除锚标记替换为:
class selectors
然后你的javascript代码应该是:
<a data-value="<?= $row1['id'];?>" class="remove_file">Delete</a>
答案 1 :(得分:-1)
试试这个
$(".del<?php echo $row1['id']; ?>").click(function() {
if (confirm("Are you sure want to delete?")) {
var delcart = $(this).data('value');
var data = JSON.stringify({id : delcart});
//alert(delcart);
$.ajax({
type: "GET",
url: "del_file.php",
data: data,
success: function (data) {
if (data) {
//alert('data');
window.location.reload();
}
}
});
}
//alert($(this).data('value'));
});