1
所以我試圖循環所有通過id連接的表的值。有4個表參與,我試圖根據第一個表的ID從每個表中獲取所有值。這是我迄今爲止的代碼。 (PS我使用CodeIgniter的數據庫的方法)將多個表值放入數組
$course = $this->db->query("SELECT * FROM courses");
// Put Courses into array
foreach ($course->result() as $row)
{
$courses['id'] = $row->id;
$courses['course_name'] = $row->course_name;
// Put Topics into array
$topic = $this->db->query("SELECT * FROM course_topics WHERE course_id = 5");
foreach ($topic->result() as $row)
{
$topics[] = array(
'id' => $row->id,
'course_id' => $row->course_id,
'topic_name' => $row->topic_name,
'order' => $row->order
);
// Put badges into array
$badge = $this->db->query("SELECT * FROM course_topic_badges WHERE topic_id = ".$row->id);
foreach ($badge->result() as $row)
{
$badges[] = array(
'id' => $row->id,
'topic_id' => $row->topic_id,
'badge_name' => $row->badge_name
);
// Put dotpoints into array
$dotpoint = $this->db->query("SELECT * FROM course_topic_dotpoints WHERE badge_id = ".$row->id);
foreach ($dotpoint->result() as $row)
{
$dotpoints[] = array(
'id' => $row->id,
'badge_id' => $row->badge_id,
'dotpoint' => $row->dotpoint,
'viddler_video_id' => $row->viddler_video_id,
'viddler_openurl' => $row->viddler_openurl,
'order' => $row->order
);
}
}
}
}
我一直在擺弄周圍了一段時間,所以有可能是未在最佳時尚:)
這樣做基本的某些行我以後需要遍歷數組,但我只是不確定實際填充它的最佳方法。
感謝您的幫助!
令人驚歎!這非常有幫助,並且表明我有更好的做事方式。什麼是迭代這個數組的最好方法? – Sneaksta 2012-03-10 10:39:52
很高興你喜歡它。您可以使用嵌套循環以類似於構建結果的方式迭代結果數據。 – ghbarratt 2012-03-10 15:06:43
我最近對我的回答感到擔心的是,您可能只想在自己的演示文稿中呈現不同的數據實體(表格)(例如列出與主題分開的徽章)。如果是這樣的話,那麼它實際上會更有意義爲每個數組構建單獨的數組,但是當我看到您在每個數據庫中都包含父ID時,我認爲您有興趣保留這些關係,所以我決定構建數組來處理它。我正在做一個小小的編輯來記錄這一點。 – ghbarratt 2012-03-10 15:23:35