我有一个带有mysql数据的表,我添加了一个垃圾桶按钮,当我用ajax函数单击垃圾桶按钮时,我想删除每一行,这是我的html:
<table border="1">
<?php
$sql ="SELECT * FROM music";
$result = mysql_query($sql) or die(mysql_error());
while($row = mysql_fetch_object($result)){
echo '<tr><td>'.$row->file_name.'</td><td>'.$row->composer.'</td><td>'.$row->lyric.'</td><td>'.$row->music_thumb.'</td><td>'.'
<a href="#" id="'.$row->msuic_id.'" class="trash" >
جذف کردن
</a>
'.'</td></tr>';
}
?>
</table>
和我的ajax函数在这里:
$(function(){
$('.trash').click(function(){
var del_id= $(this).attr('id');
var $ele = $(this).parent().parent();
$.ajax({
type:'POST',
url:'delete.php',
data:del_id,
success: function(data){
if(data=="YES"){
$ele.fadeOut().remove();
}else{
alert("can't delete the row")
}
}
})
})
});
还有我的“ delete.php”页面:
<?php
include('../db_inc.php');
$music_number = "POST['del_id']";
echo '$music_number';
$qry = "DELETE FROM music WHERE msuic_id ='$music_number'";
$result=mysql_query($qry);
?>
我认为我的问题是ajax函数;谢谢
$.ajax({
type:'POST',
url:'delete.php',
data:{del_id:del_id},
success: function(data){
if(data=="YES"){
$ele.fadeOut().remove();
}else{
alert("can't delete the row")
}
}
})
})
并且还要更改
$music_number = "POST['del_id']";
to
$music_number = $_POST['del_id'];
$(function(){
$(document).on('click','.trash',function(){
var del_id= $(this).attr('id');
var $ele = $(this).parent().parent();
$.ajax({
type:'POST',
url:'delete.php',
data:{'del_id':del_id},
success: function(data){
if(data=="YES"){
$ele.fadeOut().remove();
}else{
alert("can't delete the row")
}
}
});
});
});
并且PHP代码应该是:
<?php include('../db_inc.php'); $music_number = $_POST['del_id']; //echo $music_number; $qry = "DELETE FROM music WHERE msuic_id ='$music_number'"; $result=mysql_query($qry); if(isset($result)) { echo "YES"; } else { echo "NO"; } ?>
$(document).on('click', '.trash', function() { ... });
$music_number = POST['del_id']; in delete.php
write ajax function like:
$.ajax({
type:'POST',
url:'delete.php',
data:del_id,
success: function(data){
if(data=="YES"){
$ele.fadeOut().remove();
}else{
alert("can't delete the row")
}
}
})
});
$music_number = "POST['del_id']";
// to
$music_number = $_POST['del_id'];
此外,在ajax的成功回调中,您正在检查响应” YES”,该响应未发送到此文件的任何位置。
data: {'del_id':del_id},
希望这会有所帮助。
...
type:'POST',
url:'delete.php',
data:{'del_id':del_id}, //<----here
....
并在delete.php中将其作为POST
$music_number = $_POST['del_id'];
更新
将此添加到您的delete.php
<?php include('../db_inc.php'); $music_number = $_POST['del_id']; $qry = "DELETE FROM music WHERE msuic_id ='$music_number'"; $result=mysql_query($qry); if($result) { echo "Yes"; } else { echo "No"; } ?>