0

mysqlデータベースからレコードを削除するボタンを作成しています。

1:user、2:activity、3:user_activityの3つのテーブルでデータベースを作成しました。user_activityには、UserID(ユーザーから)とActivityID(アクティビティから)があります。

UserIDとActivityIDの両方をuser_activityテーブルに追加できるスクリプトをすでに作成しました。しかし今、私はその「行」を削除するボタンも必要です。

だから私はonclick関数でこのjavascriptコードを作りました:

$(".deleteActivity").click( function() {

    var user_activityId = $(this).data('activity');

    $.ajax({
        type: "POST",
        url: "delete_activity.php",
        data: {
            activity: user_activityId
        },
        dataType: 'json',
        success: function (data) {          
        }
    });
    $(this).hide(); 
});

そして、私はこのdelete_activity.phpファイルを作成しました:

<?php
  include "connection.php";

  $sql = "SELECT * FROM user WHERE Username = '".$_SESSION['Username']."' ";
  $stm = $db->prepare($sql);
  $result = $stm->execute(array());
  while($row = $stm->fetch(PDO::FETCH_ASSOC)) {
  $userID = $row['UserID'];
  echo $userID;
}

  $sql = "SELECT * FROM user_activity WHERE UserID = '".$userID."' ";
  $stm = $db->prepare($sql);
  $result = $stm->execute(array());
  while($row = $stm->fetch(PDO::FETCH_ASSOC)) {
  echo $row['ActivityID'];
}
?>

そしてこれはボタンです:

echo '<input type="button" class="deleteActivity"  value="Activiteit verwijderen" data-activity="' . $row['ActivityID'] . '">';

ご覧のとおり、まだ何も削除しないでください。IDを「エコー」するだけなので、IDを確認して、それらが正しいかどうかを確認できます。

ボタンを押した「アクティビティ」からActivityIDを取得したい。このActivityIDを使用して、クエリを終了できます。

$sql = "SELECT * FROM user_activity WHERE UserID = '".$userID."' AND ActivityID = ??? ";

すべてが明確で、私を助けてくれる人がいることを願っています。

4

1 に答える 1

0

投稿されたuser_activity_idをクエリに使用します:DIはあなたの列名を知らないのでuser_activity_id、あなたの場合はそれを編集してください。

$userActivityId = filter_input(INPUT_POST, "activity");

$sql = "SELECT * FROM user_activity WHERE UserActivityId = :id";
$stm = $db->prepare($sql);
$stm->bindValue( ":id", $userActivityId, PDO::PARAM_INT);
if($stm->execute())
{
    $rows = $stm->fetchAll();
    foreach($rows as $row)
    {
         echo $row['ActivityId'];
         break;
    }
}
于 2013-01-21T10:17:16.583 に答える