2014-10-20 57 views
1

我对php,html,javascript,jquery和sql有一些了解。我不知道如何去做这件事,但我真正想做的是能够从SQL表中拉出数据(我已经知道如何做到这一点)。然后用旁边的按钮显示数据(我也已经知道该怎么做)。当他们点击按钮时,它将删除包含可见数据的元素,并发送一个sql语句来删除数据库中的行。视图非常粗糙的代码。删除sql row使用按钮而不刷新页面

<?php 
echo '<p>Data 1: '".$someDataFromDB."'<button id='deleteThisRow'></button></p>; 
?> 

从这个我想:

  1. 点击按钮
  2. 删除段落元素,使他们的用户都知道它已被删除
  3. 然后发送SQL语句从删除的行sql表

所有这些都不刷新页面。这是否可能?

+2

是。你需要搜索ajax。 – jeroen 2014-10-20 14:29:32

+0

你不应该“发送一个sql语句”。 YOu可以向服务器发送一条指令,告诉它删除一条特定的记录,但是你的客户端应用程序不应该在sql级别处理任何事情。考虑有人搞清楚你的​​“run sql”查询语法,并通过http://example.com/dosql.php?sql=drop数据库databasename()'“oops”发送。 – 2014-10-20 14:36:27

+0

“发送一条sql语句”我认为它是不言而喻的,一个sql查询将是PDO或mysqli。 – 2014-10-20 14:47:30

回答

2

是的,这是可能的,但你应该只发送条目的id到一个特定的页面来删除entry.never整个sql语句。

<button id="<?php echo $row['id']; ?>" class="delbutton"></button> 

这个脚本添加到您的网页

<script type="text/javascript" > 
     $(function() { 

      $(".delbutton").click(function() { 
       var del_id = $(this).attr("id"); 
       var info = 'id=' + del_id; 
       if (confirm("Sure you want to delete this post? This cannot be undone later.")) { 
        $.ajax({ 
         type : "POST", 
         url : "delete_entry.php", //URL to the delete php script 
         data : info, 
         success : function() { 
         } 
        }); 
        $(this).parents(".record").animate("fast").animate({ 
         opacity : "hide" 
        }, "slow"); 
       } 
       return false; 
      }); 
     }); 
</script> 

最后,但没有起码你的删除脚本

<?php 
include 'connection.php'; 
$id=$_POST['id']; 
$delete = "DELETE FROM table WHERE id=$id"; 
$result = mysql_query($delete) or die(mysql_error()); 
?> 
+0

完美。必须在按钮上添加onclick =“”才能使脚本运行 – 2014-10-20 17:36:53