Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/431.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AJAX同时发布到不同的PHP页面_Javascript_Php_Jquery_Ajax - Fatal编程技术网

Javascript AJAX同时发布到不同的PHP页面

Javascript AJAX同时发布到不同的PHP页面,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我有一个页面user.php,它是不同用户页面的模板,例如user.php?id=5。我运行一个AJAX脚本来监视数据库,以便在与每个用户的对话中发布新消息 我的问题是,当我将一条消息发布到user.php?id=5时,它也会出现在user.php?id=1等上 如何确保实时消息只发送给正确的用户 user.php中的脚本: var refreshId = setInterval(function () { $.ajax({ url: 'another_file.php'

我有一个页面user.php,它是不同用户页面的模板,例如user.php?id=5。我运行一个AJAX脚本来监视数据库,以便在与每个用户的对话中发布新消息

我的问题是,当我将一条消息发布到user.php?id=5时,它也会出现在user.php?id=1等上

如何确保实时消息只发送给正确的用户

user.php中的脚本:

var refreshId = setInterval(function () {
    $.ajax({
        url: 'another_file.php',
        data: { 'action': '<?php echo $lastID; ?>' },
        dataType: 'json',
        type: 'post',
        success: function (data) {
            var avatar = '<img src="images/avatars/' + data[1].avatar + '"/>';
            if (compare_id != data[0].cr_id) {
                $('#responses').prepend("<div class='row'><div class='col-xs-12'><div class='post_container_left_small' style='float:left;'><div class='reply_avatar'><div id='add_button_small'>" + avatar + "</div></div><div class='reply_text'><h3><span class='post_time'>now</h3>" + data[0].reply + "</div></div></div></div>");
            }
            compare_id = data[0].cr_id;
        },
        error: function(xhr, desc, err) {
            console.log(xhr);
            console.log("Details: " + desc + "\nError:" + err);
        }
    });
}, 7500);

整个想法是user.php是应用程序中用户的通用视图,通过使用查询参数,您必须仅获取该用户的信息。您已选择使用AJAX wich is js,并且仅在应用程序的视图层下运行,在本例中,用户的浏览器,因此您需要一些js代码来监听一些操作,以便完成两件事:让php控制器层更新查询参数id,然后再次运行ajax请求以获取数据库数据并更新html字段。

这将取决于您在php页面中获取数据的方式。您尚未显示此代码,因此我们无法真正提供帮助。我假设您需要在查询中添加WHERE子句,该子句将结果集限制为所需用户的id。谢谢,添加了一些代码您添加了JS,我们需要查看PHP。添加了它调用的PHP类函数,您还需要更多吗?您好,谢谢您的回复,在这种情况下,查询参数id是什么?此?id=url的5位。在问号被调用或url参数之后的任何事情,我有点混淆了术语,对此表示抱歉。
    public static function getLast($lastID) {

    $lastID = (int)$lastID;
    $result = mysql_query("SELECT * FROM mc_conversation_reply ORDER BY cr_id DESC LIMIT 1");

    $userC = new UserTools();

    while($row = mysql_fetch_array($result)) {
        //echo json_encode($row);

        $userRObj = $userC->get($row['user_id_fk']);

        //echo json_encode($userRObj);
        echo json_encode(array($row,$userRObj));

    }

}