我想用兩個表中的數據創建一個json對象。
獲取與用戶相關的所有行
表1保持用戶信息
ID
名稱
用戶名
電子郵件
表2容納消息給用戶
ID
的f_id
消息
日期
到目前爲止好。我已成功地做到這一點與LEFT JOIN
$sql = "SELECT * FROM user LEFT JOIN messages ON user.id = messages.f_id
$result = mysqli_query($conn, $sql) or die(mysql_error());
while ($data = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
$messages[] = array(
'users' => array(
'Id' => $data['id'],
'Name' => $data['name'],
'Username' => $data['username'],
'Email' => $data['email'],
),
'messages' => array(
'f_id' => $data['f_id'],
'message' => $data['message'],
'date' => $data['date'],
);
);
}
但問題/挑戰是,它只是從郵件表中返回一行,即使涉及到用戶那裏多行。
這就是我想要達到
'user' => array(
'id' => 1,
'name' => John Doe,
'username' => Johndoe,
'email' => [email protected],
),
'messages' => array(
'id' => 1,
'f_id' => 1,
'message' => 'Just a test',
'date' => 14-08-2014,
'id' => 2,
'f_id' => 1,
'message' => 'Just a test 1',
'date' => 12-08-2014,
);
我怎樣才能做到這一點? 我需要運行一段時間嗎?
問題不在於你的SQL,而在於你的PHP代碼。請張貼相關部分。 – e4c5
西部許多最快的槍回覆!他們中的許多人只是迴應問題中給出的完全相同的查詢! – e4c5
@Rorabih你想在查詢結果中合併用戶的詳細信息和消息嗎? –