所以我正在处理这个/这些问题,并且最近使用codeigniter进行了很多工作..
所以,我有这些特定的表格:
sect_tbl ----------- sub_tbl
sect_id ----------- sub_code
2 -------------------- ST20
3 -------------------- AS13
3 -------------------- DA11
1 -------------------- PE40
2 -------------------- SE10
3 -------------------- PE20
4 -------------------- RT40
我在sub_tbl中创建了sect_id外键。
显示 - 侧边菜单:
sect_ids的链接:
的 1
的 2
3
4
我想这样做,如果我点击sect_id 3的链接,我将被重定向到一个新页面及其相应的sub_code集合 - " AS13,DA11,PE20&#34 ;如上表所示。
预期结果如下:
sub_code (在sect_id-3中)
型号: (绝对不对)
function fetch_view($data){
$query = $this->db->query("SELECT a.sub_code, a.sub_name, a.sect_id,
b.block_name, b.year_level FROM subject as a JOIN section as b
WHERE a.sect_id = b.sect_id ");
return $query->result();
}
控制器:
$data["subjects"] = $this->view_model->fetch_view($this->session-
userdata('user_id'));
查看:(由于我无法通过foreach循环进一步解决这个问题)
<?php
foreach ($subjects as $row) {
?>
<a href=""> <?php echo $row->year_level.$row->block_name; ?></a>
<?php
}
?>
- &GT;我尝试用href工作来重定向我,然后能够动态地查看它但它适得其反。非常感谢那些可以腾出时间分享解决方案的人。
答案 0 :(得分:0)
如果你想要所有子代码,其中sect ID = 3
$sect_id = 3;
我简化了您的查询,但主要问题是您没有使用“on x = y”来加入
$query = $this->db->query("
SELECT
sec.year_level,
sec.block_name,
sub.sub_code,
FROM section as sec
JOIN subject as sub
ON sec.sect_id = sub.sect_id
WHERE sec.sect_id = ?
", [ $sect_id ] );
if( $query->num_rows() > 0 )
return $query->result();
return [];
然后,因为我没有你的实际表格模式,我无法建议你的观点是否正确,但总的来说,这样的事情应该有效:
$this->load->helper('url');
foreach( $subjects as $row )
{
echo anchor( 'subs/show/' . $row->sub_code, $row->year_level . $row->block_name );
}
另外,作为旁注,请尝试始终遵循具有适当缩进的代码样式。它使错误的东西更突出,更容易修复。