2012-02-10 49 views
2

問一個關於如何從不同的表中的數據在SQL How to get data from 4 tables in 1 sql query?我曾經如何從SQL操縱行集數據到PHP

當我運行查詢我的樣本數據,我得到3行,反正是很多問題課程和類別之間的一對多關係我會在同一課程中獲得更多的行。

我的問題是我如何在PHP中處理這些數據?我得到一個數組,我想會是這樣的:

Array ( 
    [0] => stdClass Object ( 
     [name] => course name 
     [tutor] => tutor name 
     [categories] => Array (categories here) 
); 

我是不是應該獲取在foreach循環的類別中的數據後,我取的課程?這將意味着大量數據的糟糕表現。

回答

2

我是否應該在獲取課程後從foreach循環中的類別中獲取數據?這將意味着大量數據的糟糕表現。

我認爲這取決於您將如何處理數據。如果只是向用戶展示,我認爲對結果進行分頁是一個好主意。

但如果你真的需要fecth在一個查詢中的所有數據,並存儲在這一個大陣,你可以做這樣的事情:

$last_id = -1; 
for($x=0; $x < count($myArray); $x++) { 
    if($last_id != $myArray[$x]['id']) { 
    //course changed, do something! 
    } 
    //do more stuff... 
    $last_id = $myArray[$x]['id']; 
}