0

我采用了一个 jQuery 脚本,它可以通过单击删除 div,但我想实现删除 MySQL 数据库的记录。在 delete.php 中:

<?php 

$photo_id = $_POST['id'];

$sql = "DELETE FROM photos
  WHERE id = '" . $photo_id . "'";

$result = mysql_query($sql) or die(mysql_error());

?>

jQuery 脚本:

$(document).ready(function() {
   $('#load').hide();
});

$(function() {
$(".delete").click(function() {
$('#load').fadeIn();
var commentContainer = $(this).parent();
var id = $(this).attr("id");
var string = 'id='+ id ;

$.ajax({
   type: "POST",
   url: "delete.php",
   data: string,
   cache: false,
   success: function(){
 commentContainer.slideUp('slow', function() {$("#photo-" + id).remove();});
 $('#load').fadeOut();
  }

 });

return false;
 });
});

当我点击它时 div 消失了,但是在我刷新页面后,它又出现了......

如何让它从数据库中删除?

编辑: Woopsie ...忘记将 db.php 添加到其中,所以现在可以使用 >.<

4

2 回答 2

1

php 甚至无法接近工作。数据库在哪里?查看http://www.php.net/manual/en/mysql.examples-basic.php,从中您可以看到数据库不仅仅是一个查询。

<?php
// Connecting, selecting database
$link = mysql_connect('mysql_host', 'mysql_user', 'mysql_password')
    or die('Could not connect: ' . mysql_error());
echo 'Connected successfully';
mysql_select_db('my_database') or die('Could not select database');

// Performing SQL query
$query = 'SELECT * FROM my_table';
$result = mysql_query($query) or die('Query failed: ' . mysql_error());

// Printing results in HTML
echo "<table>\n";
while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
    echo "\t<tr>\n";
    foreach ($line as $col_value) {
        echo "\t\t<td>$col_value</td>\n";
    }
    echo "\t</tr>\n";
}
echo "</table>\n";

// Free resultset
mysql_free_result($result);

// Closing connection
mysql_close($link);
?>
于 2010-05-21T20:23:28.263 回答
0

您将数据作为 GET 字符串,但您使用的是 POST 请求,请尝试将您的字符串变量更改为对象。像 :

$(document).ready(function() {
   $('#load').hide();
});

$(function() {
$(".delete").click(function() {
$('#load').fadeIn();
var commentContainer = $(this).parent();
var id = $(this).attr("id");
var string = { id : id };

$.ajax({
   type: "POST",
   url: "delete.php",
   data: string,
   cache: false,
   success: function(){
 commentContainer.slideUp('slow', function() {$("#photo-" + id).remove();});
 $('#load').fadeOut();
  }

 });

return false;
 });
});

另外,我希望您在 PHP 中正确准备 MySQL 连接,您不能只调用 mysql_query 并希望它知道您的意思是哪个数据库,以及如何自行连接到它 :)

看看@Quotidian 的回答!:)

于 2010-05-21T20:24:29.823 回答