我在Mysql中创建了一个数据库。该数据库有3个表,1:用户2:活动3:user_activity。 user_activity是一个koppeltabel(我不知道这个单词是否是正确的英语,所以它是一个连接表用户和活动的表),这个表有行: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删除记录的按钮。 我试图修改这个脚本,但我没有成功。 我希望你有足够的信息,并且有人愿意帮助我。
答案 0 :(得分: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();
});
});