Ajax PHP更新无法正常工作

时间:2013-06-23 03:09:39

标签: php jquery

我正在尝试通过无效的ajax更新一个字段。下面是代码

Jquery的:

<script type="text/javascript">
    function changeStatus(changeStatus,userId) {
        var data="changeStatus="+changeStatus+"&userId="+userId;
        $.ajax({
            type:'GET',
            url:'myfunctions.php',
            data:data,
            success:function() {
                alert('Updated');
            }
        });
    }
</script>

PHP:

<?php
function changeStatus($changeStatus,$userId){
    $userId=$_GET['userId'];
    $userStatus=$_GET['userStatus'];
    switch($userStatus) {
        case "1":
            $changeStatus=0;
            break;
        case "0":
            $changeStatus=1;
            break;
        default:
            $changeStatus="";
    }
    $Query="UPDATE blog_users SET blog_user_status='$changeStatus' WHERE                 blog_user_id='$userId'";
    $Result=mysql_query($Query);
}

if(isset($_GET['userId']) && isset($_GET['userStatus'])) {
    changeStatus($changeStatus,$userId);
}
?>

以下是我如何调用该函数:

<a href="#" onclick="changeStatus($changeStatus,$userId)"><?php echo $action; ?></a>

只是为了让我知道我只在php中通过href传递get值来尝试这个。它正在工作......

2 个答案:

答案 0 :(得分:0)

<a href="#" onclick="changeStatus(<?php echo $changeStatus; ?>,<?php echo $userId; ?>)"><?php echo $action; ?></a>

尝试使用

答案 1 :(得分:0)

所以你没有使用正确的get变量。在javascript中,您将获取变量设置为changeStatususerId

var data="changeStatus="+changeStatus+"&userId="+userId;

然而,在您的PHP中,您获得了userIduserStatus

$userId=$_GET['userId'];
$userStatus=$_GET['userStatus'];

所以永远不会设置$userStatus,因为$_GET['userStatus']

由于它是空的,您的查询将始终如下:

"UPDATE blog_users SET blog_user_status='' WHERE blog_user_id='$userId'";