2

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

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 而无需键入每个字段,该怎么办。我怎样才能做到这一点。,?

我知道这对你们专家来说很简单,但我只是这里的初学者。请耐心等待并帮助我解决这个问题。提前感谢您的任何回复。

4

2 回答 2

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>
于 2013-05-15T04:07:16.547 回答
0

我认为您可以使用 foreach 来遍历包含对象 $det 的 Field1、Field2.etc 的属性

于 2013-05-15T03:41:59.977 回答