私はIDで接続するテーブルのすべての値をループしようとしています。関係するテーブルが4つあり、最初のテーブルのIDに従って各テーブルからすべての値を取得しようとしています。ここに私がこれまで持っていたコードがあります。 配列に複数のテーブル値を入れる
$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
);
}
}
}
}
だから、基本的には最高のファッション:)
で行われていないいくつかの行があるかもしれないので、私はしばらくの間、周りいじってきた(PS私はCodeIgniterのデータベースメソッドを使用しています)後で配列を繰り返し処理する必要がありますが、実際には最初にそれを埋める最もよい方法が不明です。
助けてくれてありがとう!
素晴らしい!それは非常に有用であり、私に物事を行うもっと良い方法を示しています。この配列を反復処理する最良の方法は何でしょうか? – Sneaksta
あなたがそれを気に入ってよかったです。ネストされたループを使用して、作成した方法と同様の方法で結果データを反復処理できます。 – ghbarratt
私の最近の懸念事項は、自分のプレゼンテーション内に異なるデータエンティティ(テーブル)を提示したいだけかもしれないということでした。そうであれば、それぞれのために別々の配列を作成するのが実際には意味がありますが、親IDをそれぞれに含めると、関係を維持することに関心があると思ったのでそれを処理するための配列を作成します。私はこれをメモするために小さな編集をしています。 – ghbarratt