如何提取多个字段名/列值 - Codeigniter?

时间:2013-05-15 03:35:26

标签: php sql-server codeigniter

假设我在我的模型上有这个本机查询:

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而不输入每个字段。我怎么能这样做?,

我知道这对你的专家来说非常简单。但我在这里只是一个初学者..请耐心帮我解决这个问题。在此先感谢任何回复..

2 个答案:

答案 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>