Php Codeigniter-表单验证和表单下拉问题
假设我在编辑用户表单上有一个select标记。它包含用户可以分配到的学校列表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 '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));