【发布时间】:2013-10-27 01:59:16
【问题描述】:
我正在尝试使用 AJAX 从数据库中删除记录。确认窗口不会出现,因此可以删除记录。这是代码..
<?php
$q = $_GET['q'];
$p = $_GET['p'];
$sql="SELECT * FROM course_details WHERE sem='" . $q . "' AND branch='" . $p . "' ORDER BY course_codes ASC";
$result = mysql_query($sql);
while($row = mysql_fetch_assoc($result)){
echo '<tr class="record">';
echo "<td>" . $row['course_codes'] . "</td>";
echo "<td>" . $row['course_names'] . "</td>";
echo "<td>" . $row['course_instructors'] . "</td>";
echo "<td>" . $row['course_credits'] . "</td>";
echo '<td><div align="center"><a href="#" id="' . $row['course_id'] . '" class="delbutton" title="Click To Delete">delete</a></div></td>';
echo '</tr>';
}
echo "</table>";
mysql_close($bd);
?>
这里的 $p 和 $q 是由另一个页面的 AJAX 脚本发送的。它工作正常。记录按预期显示。如果我不使用 AJAX 显示记录,则使用 AJAX 进行删除。我用来删除的脚本是:
<script src="jquery.js"></script>
<script type="text/javascript">
$(function() {
$(".delbutton").click(function(){
var element = $(this);
var del_id = element.attr("id");
var info = 'id=' + del_id;
if(confirm("Are you sure you want to delete this Record?")){
$.ajax({
type: "GET",
url: "deleteCourse.php",
data: info,
success: function(){
}
});
$(this).parents(".record").animate({ backgroundColor: "#fbc7c7" }, "fast")
.animate({ opacity: "hide" }, "slow");
}
return false;
});
});
</script>
删除课程.php
if($_GET['id']){
$id=$_GET['id'];
$id = mysql_escape_string($id);
}
$del = "DELETE from course_details where course_id = '$id'";
$result = mysql_query($del);
【问题讨论】:
-
似乎每天我们都肩负着指导新开发人员逃避和验证用户输入的职责。
-
@Jazza:这不是他问的...
-
@Jahaan - “如果我不使用 AJAX 来显示记录,则使用 AJAX 进行删除”,不幸的是你没有只显示这段代码。
-
@Lame-up-duck - 但@Jazza 仍然是对的。而且
mysql接口的使用早就被弃用了,应该换成PDO,或者至少mysqli... -
@Lame-up-duck:请不要生气...他可能会被这样的问题困扰。事实是,没有您的帮助,我们新开发人员无法继续......所以请坚持下去
标签: javascript php jquery mysql ajax