2016-12-06 102 views
-1

我想製作某種活動飼料,但即時通訊有點卡住如何設置我的SQL查詢或我應該做幾個查詢可以任意1指向我在正確的方向。活動飼料,PHP的mysql

我想輸出數據庫中的最後10次寫入。例如,我將有一個包含用戶和一個表格的表格。考慮這個例子。

users.id,users.firstname,users.joindate,users.profilepicture,users.picturesetdate

Posts.id,Posts.users_id,posts.message,post.postdate

我會想輸出最近10次更改。例如

名字改變了他的profilepicture於2016年6月12日 姓發佈消息,在2016年5月12日 名字加入在網站上2016年4月12日

我需要做的就是什麼這個信息在同一個查詢中,我需要將Firstname,Profilepicture和picturesetdate分組。名字,消息,postdate。名字,joindate

回答

1

您可以設置這件事很容易使用2個查詢:

你可以先查詢自己的帖子,讓你需要的所有列:

$sql = "SELECT id, users_id, message, postdate from posts ORDER BY postdate DESC LIMIT 10"; 
$res_a = mysqli_query($mysqli, $sql) or die (mysqli_error($mysqli)); 

然後開始一個循環顯示結果,並且在該循環中,您可以使用posts表中的'users_id'查詢users表。

foreach ($res_a as $res) { 

// Get user ID from posts table 
$userid = $res['users_id']; 

// Query the users table 
$user_sql = "SELECT id, firstname, joindate, profilepicture, picturesetdate FROM users WHERE id = '$userid'"; 
$user_res = mysqli_query($mysqli, $user_sql) or die (mysqli_error($mysqli)); 
$user = $user_res->fetch_assoc(); 

然後,你可以每個結果只分配給一個變量:

$first_name = $user['firstname']; 
$profile_photo = $user['profilepicture']; 
// etc.. 
+0

決定雖然創建活動供稿感謝表 – Wouter