MySQL に 2 つのテーブルがあります。
予想されるテーブルの一致:
id | idA | idB
1 | 21 | 1
2 | 21 | 2
3 | 22 | 3
4 | 8 | 2
5 | 9 | 21
6 | 10 | 7
表データ:
id | projectId | name
1 | 2 | Chicken
2 | 2 | Pork
3 | 2 | Fish
...
21 | 11 | Potato
22 | 11 | Carrot
23 | 11 | Chili
テーブルの一致に基づいて、たとえば、idA が projectId 11 にのみ等しい行で idA と idB の名前を取得したいと考えています。
CodeIgniter でビルドしましたが、成功しましたforeach idA name
が、idB 名を取得できませんでした。
ビューを次のようにしたい (例として projectId = 11 を使用):
name A | nameB
potato | chicken
potato | Pork
carrot | Fish
しかし、今私はただ得る
name A | nameB
potato | chicken
potato |
carrot |
これが私のコードです
モデル:
function get_projectA() {
$project_id = $this->uri->segment(4, 0);
$this->db->select('*');
$this->db->from('matches');
$this->db->join('data', 'matches.idA = data.id');
$this->db->where('projectID', $project_id);
$query = $this->db->get();
return $query->result();
}
function get_projectB() {
$project_id = $this->uri->segment(4, 0);
$this->db->select('idB');
$this->db->from('matches');
$this->db->join('image', 'matches.idA = data.id');
$this->db->where('projectID', $project_id);
$query = $this->db->get();
$a = $query->result_array();
foreach ($query->result_array() as $row)
{
$c = $row['idB'];
$query2=$this->db->query("SELECT * FROM data where id='$c'");
$aaa = $query2->result_array();
echo '<pre>';
print_r($aaa);
}
}
見る:
<tbody id="test">
<?php
foreach($get_projectA as $projectA) {
foreach($get_projectB as $projectB) {
?>
<tr>
<td>
<p><?php echo $projectA->name; ?></p>
</td>
<td>
<p><?php echo $projectB['name']; ?></p>
</td>
<td>
<p>3</p>
</td>
<td>
<p>4</p>
</td>
</tr>
<?php } } ?>
</tbody>