繁体   English   中英

使用php和Ajax仅更新最近的帖子

[英]Updating only the recent post using php and Ajax

我在服务器上有一个ajax脚本和一个php文件,可将新帖子插入数据库,而ajax脚本可以将帖子发布到目标php文件,并以json数据的形式获得响应(已解码并以HTML数据形式回显,这是我的帖子) ),我将其附加到div上。 但是,我的解决方案从数据库返回了整个结果,即查询通过mysql_query返回的所有帖子。 我怎么只获得最近的结果,或者至少我怎么只获得最近的帖子;

$(function() {
 $("#PostItemz").on('submit', function(event){
event.preventDefault()
var formData = new FormData(this);

    $.ajax({
        url: 'inc/modules/post_data.php',
        type: 'POST',
        data: formData,
        success: function (data) {
             //here the data return is my post as html object
            //data is return via echo on another php page
           console.log(data);
           $('#postarea').append(data);
           $("#PostItemz")[0].reset();
           $('.inner-addon, .left-addon, .create-text').hide();
        },
        cache: false,
        contentType: false,
        processData: false
    });

});


  });

并且这是我的php代码:在返回发布数据的服务器上:

        <?php
         function getFollowedGroupPosts($user_id){

        $sql_query = mysql_query("SELECT gid FROM members WHERE uid = '$user_id'");
   //iterate through record set, push records into user defined record_set[] array and return array as json encoded data
                        .
                        .
                        .
                        .
                        .
        $record_set[] = array('gid' => $rows_b['gid'],
                    'pid' => $rows_b['pid'],
                    'post' => $rows_b['post'],
                    'images' => getPostImages($rows_b['pid']),
                    'jImages' => $url_string,
                    'videos' => getPostVideos($rows_b['pid']),      
                    'audios' => getPostAudios($rows_b['pid']),
                    'date' => timeAgo($rows_b['date']),
                    'username' => userIdToName($rows_b['uid']),
                    'filemap_id' => $rows_b['filemap_id'],
                    'group_name' => groupIdToName($rows_b['gid']),
                    'comments' => getComments($rows_b['pid']),
                    'likes' => checkLikeCount($rows_b['pid']),
                    'dislikes' => checkDislikeCount($rows_b['pid']),
                    'post_count' => $row_count_b);


    }

        }
        return $record_set;

我如何对PHP进行异步ajax调用以及我在服务器端使用什么查询返回除我页面上的帖子以外的最新帖子

对于最后插入的记录,将通过mysql_insert_id获取。如果您的表包含任何AUTO_INCREMENT列,它将返回该值。

<?php
$last_id = mysql_insert_id ( mysqli $link )
SELECT * FROM tbl WHERE pid(your primary key) = '$last_id'
?>

您也可以通过使用限制和顺序来做到这一点

SELECT * FROM `table_name` 
ORDER BY `table_name`.`column_name` DESC
LIMIT 1 

注意:不要使用mysql从PHP 5.5.x开始不推荐使用

使用mysqli_insert_id()方法获取最后插入的帖子的主键,然后使用该ID检索该特定帖子并从php脚本返回。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM