私は、データベースに新しい投稿を挿入するajaxスクリプトとPHPファイルをサーバーに持っています。ajaxスクリプトは、対象のphpファイルに投稿し、jsonデータこれは私の記事であるHTMLデータとしてデコードされ、エコーされます)、divに追加するのに使用します。しかし、私のソリューションはデータベース全体、つまり私のクエリがmysql_queryを介して返す全ての結果を返します。どのように私は最近の、または少なくとも私は最後の投稿だけを取得する方法は少なくとも結果を取得するのですか?phpとAjaxを使って最新の投稿のみを更新する
$(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;
どのように私は、非同期AJAXは、PHPの呼び出しと私は、サーバー側でどのようなクエリを使用しない作るのですか私のページのもの以外の最近の投稿を既に返してください
Goは上に読んでどのようにORDER BYとLIMITの仕事。 SQLインジェクションに関してあなたが何をすべきかを読んだら、それを行ってください。 – CBroe
[SQL Server SELECT LAST N ROW]の重複している可能性があります(https://stackoverflow.com/questions/4193705/sql-server-select-last-nrows) –
注文するものは何ですか –