如何在codeignitor中执行此类过程
<ul>
<?php
$quer1 = "SELECT id FROM table1"; //conside as query examle
foreach ($quer1 as $value1) {
?>
<li>
<?php echo $value1['id']; ?>
<ul>
<?php
$quer2 = "SELECT name FROM table2 WHERE id = $value1['id']";
foreach ($quer2 as $value2) {
?>
<li><?php echo $value2['name']; ?></li>
<?php
}
?>
</ul>
</li>
<?php
}
?>
</ul>
这种方法在执行普通的php时没问题,因为我们可以从视图中查询和获取数据,但是如何才能使用此控制器来查看
答案 0 :(得分:0)
$this->db->select('id');
$this->db->from('myTable');
$row = $this->db->get()->row();
echo $row['id'];
$this->db->get_where('table2',array('id'=>$row['id']));
我希望这可以帮助您了解活动记录的工作原理,如果您想在没有活动记录的情况下执行此操作,请使用以下
$query = "SELECT id from myTable";
$this->db->query($query);
此致
答案 1 :(得分:0)
<强>假设:强>
`table1`
id | name
----+-------
1 | abc
2 | pqr
3 | xyz
`table2` (assuming `table_id` is PK and not `id`)
table_id | id | name
---------+------+-------
1 | 1 | hello1
2 | 1 | hello1
3 | 2 | hello2
4 | 3 | hello3
的型号:强>
public function get_ul_li()
{
$this->db->select('table1.id, table2.name');
$this->db->from('table1');
$this->db->join('table2', 'table1.id = table2.id');
$query = $this->db->get();
return $query->result_array();
}
<强>控制器:强>
public function xyz()
{
$ul_li = $this->xyz_model->get_ul_li();
$arr = array();
foreach($ul_li as $u)
{
if(array_key_exists($u['id'], $arr))
{
$arr[$u['id']] = array();
array_push($u['name'], $arr[$u['id']]);
}
else
{
array_push($u['name'], $arr[$u['id']]);
}
}
$this->load->view('xyz.php', array('ul_li' => $arr));
}
查看:强>
<ul>
<?php foreach($ul_li as $key => $val) { ?>
<li>
<?php echo $key; ?>
<ul>
<?php foreach($val as $v) { ?>
<li> <?php echo $v; ?> </li>
<?php } ?>
</ul>
</li>
<?php } ?>
</ul>