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

时间:2017-09-11 11:38:22

标签: php jquery mysql 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调用以及我在服务器端使用哪些查询来返回除了我页面上的帖子之外的其他帖子

2 个答案:

答案 0 :(得分:1)

对于任何最后插入的记录将通过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

答案 1 :(得分:0)

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