Javascript AJAX调用从数据库中删除一行的PHP文件?

Javascript AJAX调用从数据库中删除一行的PHP文件?,javascript,jquery,html,ajax,database,Javascript,Jquery,Html,Ajax,Database,好的,昨天我问了一个关于如何保存用户的博客帖子的问题。我找到了它的数据库端,这很好。现在,我想在单击onclick按钮后删除一篇基于日志的文章。通过几个小时的网络挖掘,我发现调用jqueryajax函数是最好的方法。我一直在努力工作,但我不能让它工作 从Blog.php中的数据库检索的博客代码: $connection = mysql_connect("...", "...", "...") or die(mysql_error()); $database = mysql_select_db("

好的,昨天我问了一个关于如何保存用户的博客帖子的问题。我找到了它的数据库端,这很好。现在,我想在单击onclick按钮后删除一篇基于日志的文章。通过几个小时的网络挖掘,我发现调用jqueryajax函数是最好的方法。我一直在努力工作,但我不能让它工作

从Blog.php中的数据库检索的博客代码:

$connection = mysql_connect("...", "...", "...") or die(mysql_error());
$database = mysql_select_db("...") or die(mysql_error());

$query = mysql_query("SELECT * FROM template") or die(mysql_error());
$template = mysql_fetch_array($query);

$loop = mysql_query("SELECT * FROM content ORDER BY content_id DESC") or die (mysql_error());
while ($row = mysql_fetch_array($loop))
{
        print $template['Title_Open'];
        print $row['title'];
        print '<button class="deletePost" onClick="deleteRow(' . $row['content_id'] . ')">Remove Post</button>';
        print $template['Title_Close'];

        print $template['Body_Open'];
        print $row['body'];
        print $template['Body_Close'];
}

mysqli_close($connection);
调用remove.php(不知道我在做什么):

这里我的目标是从表中删除ID为的行,这将完全删除博客文章,因为它在数据库表中循环时不会看到该行

有什么想法吗

谢谢你的帮助,
Kyle

我希望这会对您有所帮助。我使用它从我的购物车项目中删除了项目

$(".deleteitem").each(function(e) {
            $(this).click(function(e) {
                $.post("library/deletefromcart.php",{pid:$(this).attr('prodid'), ajax:true},function(){
                    window.location.reload()
                })
                return false;
             });
        });

原始代码中有两个问题:Jquery中的函数在开始时不应该使用$符号,因为您需要传递单个值,所以我将使用查询字符串而不是POst,而不是在php中调用“die”,我将使用受影响的行返回值是否被删除的回调。但这只是我的方法,我肯定还有其他方法

以下是代码中的一些小改进:

    //HTML
    <div class="blogtitle" class="post3">Title
    <button class="deletePost" data-item="3" >Remove Post</button></div>
    <div class="blogbody" class="post3">Content</div>

   //JQUERY
    jQuery(document).ready(function($) {

        $('button.deletePost').each(function(){

            var $this = $(this);

            $this.click(function(){

                var deleteItem  = $this.attr('data-item');

                $.ajax({url:'remove.php?action='+deleteItem}).done(function(data){

                    //colect data from response or custom code when success

                });
             return false;  
            });

        });


    });


   //PHP
    <?php 

    $id = $_REQUEST['action'];
    $query = mysql_query('DELETE FROM content WHERE content_id="'.$id.'"');
    $confirm = mysql_affected_rows() > 0 ? echo 'deleted' : echo 'not found or error';

     ?>
//HTML
标题
撤职
内容
//JQUERY
jQuery(文档).ready(函数($){
$('button.deletePost')。每个(函数(){
var$this=$(this);
$this。单击(函数(){
var deleteItem=$this.attr('data-item');
$.ajax({url:'remove.php?action='+deleteItem}).done(函数(数据){
//成功时从响应或自定义代码收集数据
});
返回false;
});
});
});
//PHP

欢迎来到堆栈溢出!在新代码中。它们不再得到维护,而是在使用。看到红色的盒子了吗?学习准备好的语句,然后使用or。这是我的Web开发入门课程的最后一个项目。他会为我使用数据库而高兴的,哈哈。希望有人早点告诉我mysql_*不受欢迎。这是我被调查时所能找到的,谢谢!谢谢你的意见!我会测试一下,看看我能做些什么。好吧,看来我们有进展了。我在“$.ajax({url:'remove.php?action='+deleteItem}).done(函数(数据){”)上得到一个“500(内部服务器错误)”。我需要有成功代码吗?成功代码主要用于两个原因:a)通知调用成功,以及b)创建自定义操作或通知用户其操作已执行。成功主要用于:a)确保调用成功或未成功(调试)以及b)创建自定义操作或通知用户其操作已执行。“500错误”是处理Php时出现“致命错误”。这意味着可能存在语法错误/mysql调用未正确配置。我从您的原始代码中注意到的其他内容是“mysqli_close($connection)”,这是不必要的,因为数据库会自动关闭,请确保在键入“mysql”而不是“mysqli”时验证您的脚本“它们是不同的模块/方法。
$con=mysqli_connect("...","...","...","...");
if (mysqli_connect_errno())
{
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$id = $_POST['action'];

$query = mysql_query("DELETE FROM content WHERE content_id=$id") or die(mysql_error());
$(".deleteitem").each(function(e) {
            $(this).click(function(e) {
                $.post("library/deletefromcart.php",{pid:$(this).attr('prodid'), ajax:true},function(){
                    window.location.reload()
                })
                return false;
             });
        });
    //HTML
    <div class="blogtitle" class="post3">Title
    <button class="deletePost" data-item="3" >Remove Post</button></div>
    <div class="blogbody" class="post3">Content</div>

   //JQUERY
    jQuery(document).ready(function($) {

        $('button.deletePost').each(function(){

            var $this = $(this);

            $this.click(function(){

                var deleteItem  = $this.attr('data-item');

                $.ajax({url:'remove.php?action='+deleteItem}).done(function(data){

                    //colect data from response or custom code when success

                });
             return false;  
            });

        });


    });


   //PHP
    <?php 

    $id = $_REQUEST['action'];
    $query = mysql_query('DELETE FROM content WHERE content_id="'.$id.'"');
    $confirm = mysql_affected_rows() > 0 ? echo 'deleted' : echo 'not found or error';

     ?>