Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.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 Codeigniter-表单验证和表单下拉问题_Php_Codeigniter_Validation - Fatal编程技术网

Php Codeigniter-表单验证和表单下拉问题

Php Codeigniter-表单验证和表单下拉问题,php,codeigniter,validation,Php,Codeigniter,Validation,假设我在编辑用户表单上有一个select标记。它包含用户可以分配到的学校列表 <select 'school'> <option value='1'>School 1</option> <option value='2'>School 2</option> </school> 当然,问题是,当用户尚未分配学校,并且$school->id为空时,这会抛出一个错误 所以我的问题是,;解决codeigniter中

假设我在编辑用户表单上有一个select标记。它包含用户可以分配到的学校列表

<select 'school'>
    <option value='1'>School 1</option>
    <option value='2'>School 2</option>
</school>
当然,问题是,当用户尚未分配学校,并且
$school->id
为空时,这会抛出一个错误

所以我的问题是,;解决codeigniter中类似问题的最佳方法是什么

解决这个问题的一种方法是在
$school->id
上返回NULL。所以

empty($school->id) && ($school->id = NULL);
echo form_dropdown('school', $school_list, $school->id);
但是,它看起来很不雅观,尽管我还没有测试过它。我不认为当我想重新填充表单时,如果表单提交时有错误,那么它将无法正常工作

echo form_dropdown('school', $school_list, set_value('school', $school->id));
谁有更好的解决方案


编辑:请注意,这不是我实际使用的代码。我现在刚刚输入了这个,所以如果有语法错误或诸如此类的问题,我深表歉意。

只需使用
echo form\u下拉列表('school',$school\u list,set\u value('school',@$school->id))

然后通过
@
知道该值有时可能是空的,如果该值丢失,它将抑制错误


如果您没有id,执行此操作将向第三个参数发送一个
NULL
值,默认情况下,它将选择第一个

只需使用
echo form_下拉列表('school',$school_list,set_value('school',@$school->id))

然后通过
@
知道该值有时可能是空的,如果该值丢失,它将抑制错误


如果您没有id,这样做将向第三个参数发送一个
NULL
值,默认情况下,它将选择第一个

我已经考虑过了,但是这对
set_value()
函数有什么影响?这不会把事情搞砸吗?不会的。如果您有一个
$\u POST['school']
值,将选择该值。如果没有,它将选择默认id或NULL(第一个)。亲爱的上帝,我刚刚测试了它。为什么我在花10分钟提出这个问题之前没有这样做,这让我感到困惑。这表明,无论你花多长时间做某事,你仍然可以使用一些外部视角。谢谢,@Robin.Yeah,我听到了:)有时候,当我们试图解决一个问题时,最简单的解决方案被排除在我们自己的脑海中。我很高兴我们现在有了这样的机会我已经考虑过了,但是这对
set\u value()
函数有什么影响呢?这不会把事情搞砸吗?不会的。如果您有一个
$\u POST['school']
值,将选择该值。如果没有,它将选择默认id或NULL(第一个)。亲爱的上帝,我刚刚测试了它。为什么我在花10分钟提出这个问题之前没有这样做,这让我感到困惑。这表明,无论你花多长时间做某事,你仍然可以使用一些外部视角。谢谢,@Robin.Yeah,我听到了:)有时候,当我们试图解决一个问题时,最简单的解决方案被排除在我们自己的脑海中。我很高兴我们现在有了这样的机会
echo form_dropdown('school', $school_list, set_value('school', $school->id));