我已经创建了一个js函数来使用ajax从数据库中删除数据。它非常基本,但我希望在我添加其他功能之前让它工作:
function removeAd(ad_id) {
$.post('remove.php', {id: ad_id});
};
我使用php构建页面并创建使用此功能的链接:
<ul id='categoryorder'>
<?php while ($item = mysqli_fetch_array($r)) { ?>
<li id="advert_<?php echo $item['display_id'] ?>"><div class="<?php echo $item['ad_type']?>"><a href="javascript:removeAd('<?php echo $item['display_id'] ?>')" >Remove</a></div></li>
<?php } ?>
</ul>
它构建页面正常并在div中创建删除链接,其中包含javascript的href:removeAd(id),id为与数据库中该div相关的id,例如:
<li id="advert_5"><div class="banner"><a href="javascript:removeAd('5')" >Remove</a></div></li>
最后这应该发送到remove.php脚本,该脚本实际上从数据库中删除了具有该ID的条目
<?php
require ('Mysql_Connect.php');
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$q = "DELETE FROM st_display WHERE display_id = {$_POST['id']}";
$r = @mysqli_query ($dbc, $q);
}
?>
我对此非常陌生,所以我很准备被告知我犯了一个愚蠢的错误,或者说这永远不会奏效!但是我们将非常感谢任何帮助。
答案 0 :(得分:0)
您的查询非常适合进行良好的SQL注入
但这不是重要的,如果你试图做echo $q
它会返回什么东西吗?
在console.log(ad_id);
之前$.post
查看您是否也发送数据。
答案 1 :(得分:0)
您在;
语句末尾缺少echo
<li id="advert_<?php echo $item['display_id']; ?>"><div class="<?php echo $item['ad_type']; ?>"><a href="javascript:removeAd('<?php echo $item['display_id']; ?>')" >Remove</a></div></li>