Question Updated:
我正在使用codeigniter,我遇到的问题是,如果数组包含值,那么表单元素将显示。如果数组为空,则不会显示整个表单。所以想象一下这是一个人选择编辑记录的编辑表格。并且无论出于什么原因,我们都会说正在编辑的记录没有记录,它完全是空的。并且还要说id必须是可见的并且可以编辑,无论它是否为空。所以会发生什么,如果记录为空,则不会显示整个表单元素。所以我试图做的就是无论是否有记录都要显示它。
<?php
//controler
public function show()
{
$this->load->model('my_model');
$data = array(
'data' => $this->my_model->getdata();
);
$this->load->view('somepage', $data);
}
//model
public function my_model()
{
$q = $this->db->get_where('some query', array('id' => $id));
if($q->num_rows() == 1)
{
foreach($q->result() as $row)
{
$rows[] = $row;
}
return $rows;
}
else
{
return array();
}
}
//view
//note: this will only work if the array has data, otherwise everything between the foreach statement wont show.
<?php foreach($data as $row) : ?>
<input type="text" name="something" value="<?=$row->column1;?>">
<input type="text" name="something" value="<?=$row->column2;?>">
<input type="text" name="something" value="<?=$row->column3;?>">
<input type="text" name="something" value="<?=$row->column4;?>">
<input type="text" name="something" value="<?=$row->column5;?>">
<?php endforeach; ?>
答案 0 :(得分:0)
<?php
if (!empty($data)) {
var_dump($data);
} else {
//print out nothing
}
?>
或者您可以执行以下操作
<p><?= (!empty($data)) ? $data : "" ?></p>