Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/253.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用ajax删除记录?_Javascript_Php_Jquery_Mysql_Ajax - Fatal编程技术网

Javascript 如何使用ajax删除记录?

Javascript 如何使用ajax删除记录?,javascript,php,jquery,mysql,ajax,Javascript,Php,Jquery,Mysql,Ajax,我正在尝试使用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 = mys

我正在尝试使用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);
?>

问题在于,您正在创建动态元素,因此必须使用delagate
$(document).on()
将单击事件绑定到元素。 这是正确的代码

<script type="text/javascript">
        $(function() {
        $(document).on('click','.delbutton',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(){  } 
            });
        }
        return false;
        });
        });
    </script>

希望这有帮助,谢谢

问题是因为您正在创建动态元素,因此必须使用delagate
$(document).on()
将单击事件绑定到元素。 这是正确的代码

<script type="text/javascript">
        $(function() {
        $(document).on('click','.delbutton',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(){  } 
            });
        }
        return false;
        });
        });
    </script>
希望这对您有所帮助,谢谢您尝试以下方法:

<script type="text/javascript" src="jquery.js"></script>

试试这个:

<script type="text/javascript" src="jquery.js"></script>

试试这个

 <script src="http://code.jquery.com/jquery-1.9.1.js"></script>

 <a href="#" id="1" onclick="del(this.id);return false;">delete</a>
 <a href="#" id="2" onclick="del(this.id);return false;">delete</a>
 <a href="#" id="3" onclick="del(this.id);return false;">delete</a>
 <a href="#" id="4" onclick="del(this.id);return false;">delete</a>
 <a href="#" id="5" onclick="del(this.id);return false;">delete</a>
ajax文件

if($_GET['id']){
$id=$_GET['id'];
$id = mysql_escape_string($id);
}
$del = "DELETE from course_details where course_id = '$id'";
$result = mysql_query($del);
if($result)
{
echo "success";
}
试试这个

 <script src="http://code.jquery.com/jquery-1.9.1.js"></script>

 <a href="#" id="1" onclick="del(this.id);return false;">delete</a>
 <a href="#" id="2" onclick="del(this.id);return false;">delete</a>
 <a href="#" id="3" onclick="del(this.id);return false;">delete</a>
 <a href="#" id="4" onclick="del(this.id);return false;">delete</a>
 <a href="#" id="5" onclick="del(this.id);return false;">delete</a>
ajax文件

if($_GET['id']){
$id=$_GET['id'];
$id = mysql_escape_string($id);
}
$del = "DELETE from course_details where course_id = '$id'";
$result = mysql_query($del);
if($result)
{
echo "success";
}

函数del(id)
{
变量信息='id='+id;
如果(确认(“您确定要删除此记录吗?”)){
var html=$.ajax({
键入:“获取”,
url:“deletCourse.php”,
数据:信息,
async:false,
成功:函数(){
window.location.reload(true);}
}).responseText;
}
}

函数del(id)
{
变量信息='id='+id;
如果(确认(“您确定要删除此记录吗?”)){
var html=$.ajax({
键入:“获取”,
url:“deletCourse.php”,
数据:信息,
async:false,
成功:函数(){
window.location.reload(true);}
}).responseText;
}
}


似乎每天我们都有责任指导新开发人员转义并验证用户输入。@Jazza:这不是他要求的…@Jahaan-“如果我不使用AJAX显示记录,则使用AJAX删除是有效的”,不幸的是,您没有只显示这段代码。@Lame up duck-但@Jazza仍然正确。而
mysql
接口的使用早已被弃用,应该被
PDO
取代,或者
mysqli
至少…@跛脚鸭:请不要生气…他可能会被这样的问题困扰。事实上,没有你的帮助,我们这些新开发人员无法继续工作。所以请继续保持下去。似乎每天我们都有责任指导新开发人员逃避并验证用户输入。@Jazza:他不是这样做的问…@Jahaan-“如果我不使用AJAX来显示记录,那么使用AJAX删除是有效的”,不幸的是,您没有只显示这段代码。@Lame up duck-但是@Jazza仍然正确。而
mysql
接口的使用早已被弃用,应该被
PDO
取代,或者
mysqli
至少…@Lame up duck:请不要生气…他可能会被这样的问题困扰。事实是,没有你的帮助,我们这些新开发人员无法继续。所以请保留它up@Jahaan确认框是否显示:否…,这是problem@Jahaan,我已经升级了代码,如果它不起作用,请删除完成()全然check@Jahaan要检查ajax调用是否工作,请在ajax调用后删除动画,请检查以下代码now@Jahaan确认框是否显示:否…,这是problem@Jahaan,我已经升级了代码,如果它不起作用,请删除完成()全然check@Jahaan要检查ajax调用是否工作,请在ajax调用后删除动画,现在检查此代码@user2169355:如果我只使用php而不使用AJAX从数据库检索数据,我发布的脚本工作正常@user2169355:如果我只使用php而不使用AJAX从数据库检索数据,我发布的脚本工作正常确认框不会出现,此外,它不会删除数据…..没有显示任何错误@Arun Kumar:这一个也不起作用..我使用的ajax代码很好。。我在我的项目的不同地方使用相同的代码。但在这里它不起作用。原因是数据是在通过ajax发送id后使用php填充的…请查看链接。。确认框不会出现,也不会删除数据..没有显示错误@Arun Kumar:这个也不起作用..我使用的ajax代码很好。。我在我的项目的不同地方使用相同的代码。但在这里它不起作用。原因是数据是在通过ajax发送id后使用php填充的…请查看链接。。
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script>
function del(id)
{

 var info = 'id=' + id;
    if(confirm("Are you sure you want to delete this Record?")){
        var html = $.ajax({
        type: "GET",
        url: "deletCourse.php",
        data: info,
        async: false ,
         success: function() {
    window.location.reload(true);}
        }).responseText;


    }
}
</script>

<?php
$link=mysql_connect("localhost","root","") or die(mysql_error());
mysql_select_db("cart");
$sql=mysql_query("SELECT * FROM `details`");
echo "<table>";
echo "<tr><th>Name</th><th>NO of Items</th></tr>";
while($row = mysql_fetch_assoc($sql)){
  echo '<tr class="record">';
  echo "<td>" . $row['name'] . "</td>";
  echo "<td>" . $row['num'] . "</td>";

  echo '<td><div align="center"><a href="#"  id="' . $row['id'] . '" onclick="del('.$row['id'].')">delete</a></div></td>';
  echo '</tr>';
}
echo "</table>";
mysql_close($link);
?>