みなさん、こんにちは私は codeigniter を使ってプロジェクト管理システムを構築しています。
モデルには、プロジェクトとそれに関連付けられているタスクを表示する機能があります。$projectId = 1 は、テストのみを目的としています。
function getAllProjects($projectId = 1)
{
$this->db->select('*');
$this->db->from('projects');
$this->db->where('projects.projectId', $projectId);
$this->db->join('projectTasks', 'projects.projectId = projectTasks.projectId');
$this->db->join('tasks', 'projectTasks.taskId = tasks.taskId');
$projects = $this->db->get();
return $projects;
}
次に、私の見解では、結果を表示させます
<?php if($projects->num_rows() > 0): ?>
<table width="100%">
<?php foreach($projects->result() as $p): ?>
<tr>
<td><?php echo $p->projectId; ?></td>
<td><?php echo $p->projectName; ?></td>
<?php foreach($projects->result() as $g): ?>
<td><?php echo $g->taskName; ?></td>
<td><?php echo $g->taskHours; ?></td>
<td><?php echo $g->taskCost; ?></td>
<?php endforeach; ?>
</td>
</tr>
<?php endforeach; ?>
</table>
<?php else: ?>
<p>No projects at this time.</p>
<?php endif; ?>
これを返すもの
ID - Project Name - Task Name - Task Hours - Task Cost (**to show you what field is what**)
1 The Range 702 Contact Form 10 100 Custom Logo Desgin 10 100 Custom Login From 5 75
1 The Range 702 Contact Form 10 100 Custom Logo Desgin 10 100 Custom Login From 5 75
1 The Range 702 Contact Form 10 100 Custom Logo Desgin 10 100 Custom Login From 5 75
プロジェクト情報を一度だけ表示し、次にプロジェクトに関連付けられている各タスクを表示するようにする方法を教えてください。現在、プロジェクトに関連付けられているすべてのタスクについて、プロジェクトとすべてのタスクが再度一覧表示されます。
テーブル
-----------------------
| projects |
-----------------------
| projectId | (Primary)
| projectName |
| projectHours |
| projectDeadline |
| projectStartDate |
| projectTasks |
| projectUsers |
| projectNotes |
| |
-----------------------
-----------------------
| projectTasks |
-----------------------
| projectTasksId | (Primary)
| projectId | (FK project->projectId)
| taskId | (FK tasks->taskId)
| |
-----------------------
--------------------
| tasks |
--------------------
| taskId | (Primary)
| taskName |
| taskHours |
| taskCost |
| |
--------------------