Php 获得;“活动ID”;从那具体的;活动“;如果我按下按钮
我正在制作一个从mysql数据库中删除记录的按钮 我制作了一个包含3个表的数据库,1:user,2:activity,3:user\u activity。 在user_活动中,您可以找到UserID(来自user)和ActivityID(来自activity) 我已经制作了一个脚本,可以将UserID和ActivityID添加到user\u活动表中。但现在我还需要一个按钮,删除“行” 所以我用onclick函数编写了这段javascript代码:Php 获得;“活动ID”;从那具体的;活动“;如果我按下按钮,php,javascript,Php,Javascript,我正在制作一个从mysql数据库中删除记录的按钮 我制作了一个包含3个表的数据库,1:user,2:activity,3:user\u activity。 在user_活动中,您可以找到UserID(来自user)和ActivityID(来自activity) 我已经制作了一个脚本,可以将UserID和ActivityID添加到user\u活动表中。但现在我还需要一个按钮,删除“行” 所以我用onclick函数编写了这段javascript代码: $(".deleteActivity").cli
$(".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'];
}
?>
我希望一切都很清楚,有人可以帮助我 在您的查询中使用您发布的用户活动id:D我不知道您的
用户活动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;
}
}
手动使用
bindValue
而不是concat查询字符串。但是,var_dump
您的$userId
,以确保它有数据。感谢您提供的信息,我是PDO新手,因此我非常感谢这些提示。但不幸的是,这并不能解决我的问题。有什么方法可以帮我吗?你能给我看看var\u dump($userId)
的结果吗?稍微修改代码以显示SQL错误(如果存在)(在execute语句之前插入):if($stm->execute()){var_dump($stm->fetchAll());}否则{var_dump(stm->errorInfo());}
也可以显示结果吗?它没有显示错误,它获得了它需要的所有数据。但问题是,如果我按1键,我收集所有的ActivityID,其中UserID=$UserID。我想收集specefic activityID,但我没有用户\u activityID。“我的用户\活动”中唯一的行是ActivityID和UserID。所以我把“UserActivityId”改成了ActivityID。但是我没有输出,它说:array(size=0)empty…那么你从ajax发布什么,user\u activityId
包含哪些信息?我不使用ajax(我知道这是一种更好的方法,但我使用这个查询:$sql=“SELECT activity..”从user\u activity,activity”。“其中user_activity.ActivityID=activity.ActivityID,user_activity.UserID=”“$UserID.”“好吧,我发现了问题,在我的JS中,我引用了表“user_activity”而不是“activity”。
$sql = "SELECT * FROM user_activity WHERE UserID = '".$userID."' AND ActivityID = ??? ";
$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;
}
}