【问题标题】:Remove mysql database record with a button使用按钮删除mysql数据库记录
【发布时间】:2013-01-20 16:55:28
【问题描述】:

我在 Mysql 中做了一个数据库。这个数据库有3个表,1:user 2:activity 3:user_activity。 user_activity 是一个koppeltabel(我不知道这个词是不是正确的英文,所以它是一个连接表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 中删除记录的按钮。 我试图修改这个脚本,但我没有成功。 我希望你有足够的信息,并且有人愿意帮助我。

【问题讨论】:

  • 到底是什么不工作?

标签: php javascript jquery mysql


【解决方案1】:

您需要创建一个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();
    }); 

});

【讨论】:

  • @akehorn,“没有成功”到底是什么意思?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-11
  • 2019-04-12
  • 2021-04-03
相关资源
最近更新 更多