編集ユーザーフォームに選択タグがあるとします。これには、ユーザーを割り当てることができる学校のリストが含まれています。
<select 'school'>
<option value='1'>School 1</option>
<option value='2'>School 2</option>
</school>
作成者:echo form_dropdown('school', $school_list)
編集中のユーザーにすでに学校が割り当てられている場合は、ドロップダウンをデフォルトに設定します。
だから、私はこれをしました:
$school = $this->db->get_where('schools', $filters) # result object from database
echo form_dropdown('school', $school_list, $school->id);
もちろん、問題は、ユーザーにまだ学校が割り当てられておらず、$school->id
空の場合にエラーがスローされることです。
だから私の質問は; codeigniterでこのような問題を解決するための最良の方法は何ですか?
これを解決する方法の1つは、にNULLを返すこと$school->id
です。それで、
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));
誰かがより良い解決策を持っていますか?
編集:これは私が使用する実際のコードではないことに注意してください。今、これを入力したばかりなので、構文エラーなどがある場合は、お詫び申し上げます。