1

ajaxを使用してデータベースからデータを削除するjs関数を作成しました。その非常に基本的な機能ですが、他に何かを追加する前に機能させたいのですが、機能は以下のとおりです。

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>

それはページをうまく構築し、javascript:removeAd(id) の href を持つ div 内に削除リンクを作成します。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);

}

?>

私はこれに非常に慣れていないので、ばかげた間違いを犯している、またはこれは決して機能しないと言われる準備ができています! しかし、どんな助けでも大歓迎です。

4

2 に答える 2

0

あなたのクエリは、優れた SQL インジェクションに最適です。
しかし、それはここでは重要ではありません。何かをしようとすると、echo $q何かが返されますか? 前にを実行して、データも送信するかどうかを確認して
ください。console.log(ad_id);$.post

于 2012-10-05T14:18:14.613 に答える
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>
于 2012-10-05T14:18:31.410 に答える