1

Mysql でデータベースを作成しました。このデータベースには、1: user、2: activity、3: user_activity の 3 つのテーブルがあります。user_activity はコッペルテーブル (この単語が適切な英語かどうかはわかりません。したがって、テーブル user と activity を接続するテーブルです)、このテーブルには次の行があります: 1: ActivityID と UserID.

データベースからコンテンツを取得し、そのコンテンツを表示するスクリプトを作成しました (スクリプトでは、コンテンツはアクティビティと呼ばれます)。すべてのアクティビティには独自のボタンがあり、そのボタンを押すと、その特定のアクティビティが「ガイド」に追加されます。ガイドにアクティビティを追加すると、このアクティビティも表示されます。

これがこれまでの私のコードです。js スクリプト:

$(document).ready(function() {

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

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

    $.ajax({
        type: "POST",
        url: "add_activity.php",
        data: {
            activity: activityId
        },
        dataType: 'json',
        success: function (data) {

        }
    });
    $(this).hide();
    }); 
});

そして、これは私の "add_activity.php ファイルです:

<?php
include "connection.php";

// Haal eerst de gebruikers info van de gebruiker die ingelogd is op
$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'];
}

// Lees de activity van $_POST
$activityID = filter_input(INPUT_POST, 'activity', FILTER_VALIDATE_INT, array('min_range' => 1));
if( $activityID )
{
    // Check of the activity bestaat in de database
    $activityQuery = $db->prepare("SELECT ActivityID FROM activity LIMIT 1");
    $activityQuery->execute( array( $activityID ) );
    if( 1 === $activityQuery->rowCount() )
    {
        // Voeg het record toe
        $activityQuery = $db->prepare("REPLACE INTO user_activity(`UserID`,`ActivityID`)VALUES (?, ?)");
        $activityQuery->execute( array( $userID, $activityID ) );
        if( 0 < $activityQuery->rowCount() )
        {
            echo "Record toegevoegd.";
            exit;
        }
    }
}

// Failure
echo "Er is een fout opgetreden.";
?>

これが私のボタンです:

echo '<input type="button" class="addActivity" onclick="MakeRequest(' . $test . ')" value="Activiteit toevoegen" data-activity="' . $row['ActivityID'] . '">';

このスクリプトは user_activity に新しいレコードを作成しますが、user_activity からレコードを削除するボタンも必要です。このスクリプトを変更しようとしましたが、成功しませんでした。あなたが十分な情報を持っていること、そして私を助けてくれる人がいることを願っています.

4

1 に答える 1

0

delete_activity.phpファイルを作成し、次のようなクエリを実行する必要があります。

DELETE FROM `user_activity` ...

次に、別のボタンに対して同様の AJAX 呼び出しを行います。

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

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

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

    $(this).hide();
    }); 

});
于 2013-01-20T16:58:06.407 に答える