Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 即使迭代数组为空,如何显示表单字段?_Php_Arrays_Codeigniter - Fatal编程技术网

Php 即使迭代数组为空,如何显示表单字段?

Php 即使迭代数组为空,如何显示表单字段?,php,arrays,codeigniter,Php,Arrays,Codeigniter,我使用的是codeigniter,我遇到的问题是,如果数组包含值,那么表单元素就会显示出来。如果数组为空,则不会显示整个窗体。因此,想象一下这是一个编辑表单,其中一个人选择编辑一条记录。不管出于什么原因,被编辑的记录没有记录,它完全是空的。也就是说,无论id是否为空,它都必须可见且可编辑。因此,如果记录为空,则不会显示整个表单元素。所以我要做的是让它显示出来,不管是否有记录 Question Updated: 在你看来 <?php //controler public functio

我使用的是codeigniter,我遇到的问题是,如果数组包含值,那么表单元素就会显示出来。如果数组为空,则不会显示整个窗体。因此,想象一下这是一个编辑表单,其中一个人选择编辑一条记录。不管出于什么原因,被编辑的记录没有记录,它完全是空的。也就是说,无论id是否为空,它都必须可见且可编辑。因此,如果记录为空,则不会显示整个表单元素。所以我要做的是让它显示出来,不管是否有记录

Question Updated:
在你看来

<?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; ?>
或者你可以做下面的事情

<?php
if (!empty($data)) {
    var_dump($data);
} else {
    //print out nothing
}
?>

这与我一直在做的事情几乎相同,但是else语句没有任何作用,因此不会显示记录。我已经修改了我的问题,以显示我正在尝试做的事情。请在这里发布一个视图,所以问题是crystal Clear我正在查询本应作为单独表连接在一起的表,其中一个表没有引用id,并且完全为空。我知道这一点,但我试着看看如何才能做到这一点,否则。因为我认为这是一个坏主意,所以最初我只是向空表插入了一个引用id,所以当连接它们时,我会得到一个输出。感谢您的帮助:
<p><?= (!empty($data)) ? $data : "" ?></p>