【发布时间】:2011-11-08 17:50:29
【问题描述】:
我正在尝试创建一个多级列表。我有两个表“州”和“城市”。 city 表有一个外键“state_id”,它是“State”表的主键。我想展示每个州,每个州下都有多个城市。但是当我运行我的代码时,只显示数据库中最后存储的状态及其下的城市。我希望 Db 中的所有州和与其对应的城市都出现。
我的控制器的一部分:
function index(){
$result = $this->db->count_all('state');
$id=1;
while ($id<=$result){
$data ['state'] = $this->state_model->stateid($id);
$data['city']=$this->state_model->statec($id);
$id++;
}
$this->load->view('state_view',$data);
}
型号:
function stateid($id = 0){
$this->db->where('id',$id);
$sql = $this->db->get('state');
return $sql->result();
}
function statec($id = 0){
$this->db->where('state_id',$id);
$sql = $this->db->get('city');
return $sql->result();
}
观点:
<?php foreach($state as $row):?>
<h4><?php echo $row->statename;?></h4>
<?php foreach($city as $row):?>
<?php echo $row->cityname; ?></br></br></br>
<?php endforeach;?></br></br>
<?php endforeach;?></br></br>
【问题讨论】:
标签: php codeigniter while-loop