0

我正在使用 codeigniter 在 php 中开发一个应用程序,用于工作流过程。

现在我需要声明一个大小为 100 或 200 且具有空值默认值的空数组。无论何时执行工作流,值都会动态存储到该数组中。

我的视图中有一个数组,例如

  if(isset($value)){

 foreach ($value as $row) {

 $wer[] = $row;

 }
 }

现在,每当工作流自动运行时,值就会使用form_dropdown('perfpmself_1',$rate,$wer[0],'class="self"'); 上述格式存储在视图中,我用来加载从 $wer[0] 到 $wer[50] 的所有值。所有值都将正确显示......但如果数据库中没有值将其加载到数组中......它会抛出一个错误,如

A PHP Error was encountered

Severity: Notice

Message: Undefined variable: wer

Filename: views/performancepm.php

任何人都可以提出解决方案来克服我的视图屏幕上的这个错误吗?

请帮助..提前谢谢

4

3 回答 3

0

只需在全局范围内定义 wer。我也会使用array_push,但这只是我。把事情简单化:

$wer = array();

 if(isset($value)){

     foreach ($value as $row) {

         array_push($wer, $row);

     }
 }

if(empty($wer)){
    //wer has values
}else{
    // wer is not empty
}

关于您的评论,据我所知,只有一种方法可以专门在 codeIgniter 框架中强制执行必填字段:

$this->load->helper(array('form', 'url'));

        $this->load->library('form_validation');

        $this->form_validation->set_rules('username', 'Username', 'required');

来自CodeIgniter 指南

否则,您必须使用 JavaScript 或在您自己的 PHP 代码中强制执行它,以查看是否为空字段:

if (isset($_GET['username'])){
//username isnt blank
}else{
//username is blank
}
于 2013-02-28T01:58:48.490 回答
0

$wer在尝试为其分配值之前您没有初始化:

if(isset($value)){
    $wer = array();
    foreach ($value as $row) {
        $wer[] = $row;
    }
 }
于 2013-02-27T17:05:06.023 回答
0

尝试:

$options = array_fill_keys(range(0,99),null);
echo form_dropdown('perfpmself_1', $options);
于 2013-02-28T01:22:46.630 回答