假设我在我的模型上有这个本机查询:
public function print_query($id){
$sql = "Select Field1,Field2,Field3.. FROM Table WHERE id = '".$id."' ";
if($this->db->query($sql, array($id))->num_rows() > 0)
{
return $this->db->query($sql, array($id))->result();
}
}
这在我的控制器上:
public function emp_preview(){
$EmpID = $this->input->post('txt_id');
$data['p_det'] = $this->db_sal_details->print_query($EmpID);
$this->load->view('employee/preview',$data,TRUE);
}
在我的视图中:我想显示Field1,Field2,Field3等的值。 我用这段代码来显示它们;
<table>
<tr>
<?php if($p_det):?>
<?php foreach($p_det as $det):?>
<th><?php echo $det->Field1;?></th>
<th><?php echo $det->Field2;?></th>
<th><?php echo $det->Field2;?></th>
...
<?php endforeach;?>
<?php endif;?>
</tr>
</table>
这一切都很好,并显示字段及其值。但是,如果我有超过3个字段(例如50个字段)并且我想动态填充TH而不输入每个字段。我怎么能这样做?,
我知道这对你的专家来说非常简单。但我在这里只是一个初学者..请耐心帮我解决这个问题。在此先感谢任何回复..
答案 0 :(得分:0)
我认为你可以使用foreach迭代包含对象$ det
的Field1,Field2.etc的属性答案 1 :(得分:0)
模型
public function print_query($id){
$sql = "Select Field1,Field2,Field3.. FROM Table WHERE id = '".$id."' ";
if($this->db->query($sql, array($id))->num_rows() > 0)
{
return $this->db->query($sql, array($id));
}
}
查看
<table>
<tr>
<?php if($p_det):?>
<?php foreach($p_det->result_array() as $det):?>
<?php foreach($det as $field => values){?>
<th><?php echo $columns[$field] = $values;?></th>
...
<?php
}
endforeach;
?>
<?php endif;?>
</tr>
</table>