2013-01-15 23 views
0

我承認,我不知道有關MySQL查詢或JSON的問題,但我想。目前,當我從我的數據庫中獲取數據時,我查詢一個將值帶入另一個查詢中的表等等。我不認爲這是接收我需要顯示的所有數據的最佳做法。下面是如何我的MySQL查詢當前在PHP的foreach功能的示例: enter image description here查詢多個MySQL表並將數據編碼爲JSON

那麼,有沒有完成我想要的查詢(S)和我將如何能夠將其編碼爲JSON的一種更好的方式?

任何幫助將不勝感激,謝謝。

回答

0

您可以爲此列表創建1個SQL查詢,可以告訴我您的表格中的朋友和個人檔案信息是什麼。

在好友列表中,您必須有個人資料才能顯示個人資料。

查詢可能是這樣:選擇配置文件*從個人資料,好友,其中friends.id_profile = profile.id和profile.id =電流曲線-ID

在你的圖形,你當前使用的配置文件ID朋友表,而不是個人資料,這可能是錯誤

0

據我所知,你的代碼做這樣的事情:

<?php 
$friends = query("SELECT Friends"); 
while($row = fetch_object($friends)){ 
    $friend_dets = query("SELECT Friend_dets WHERE Friend_ID = $row->Friend_ID"); 
    $output[] = fetch_assoc($friend_dets); 
} 
echo json_encode($output); 
?> 

有了這個,你正在做的過程要複雜得多它需要。你可以得到所有你需要查詢一個JOIN像這樣的信息:

SELECT Name, Status, WhateverElseYouWant 
FROM Friends 
    JOIN Profiles ON (Friends.friend-profile-id = Profiles.profile-id) 
WHERE Friends.profile-id = MyCurrentProfileID 

這會給你的名稱,狀態和任何其他大家誰是朋友MyCurrentProfileID的。那麼,你只需要把結果放到一個數組中就可以了: it:

<?php 
$friends = query($QueryFromAbove); 
while($row = fetch_object($friends)){ 
    $output[] = fetch_assoc($friend_dets); 
} 
echo json_encode($output); 
?>