2 つのループによって生成されるドロップダウン リストがあります。内側のループは、0 から 23 までの一連の数値を生成します。外側のループは、データベースに格納されている値に基づいて 23 の数値から正しい値を選択するクエリ ループです。
ここでの問題は、これらの 2 つのループが競合し、0 から 23 までの数字が 2 回表示されることです。この問題を回避しながら、両方のループを維持するにはどうすればよいですか? この問題は、フォームを 2 回送信しようとしてユーザーの入力を削除することによって、フォームが送信されるときにも問題を引き起こします。
これは私のコードです:
<select id="openHours#CountVar#" name="openHours#CountVar#">
<cfloop query="doctorHours" >
<cfloop from="0" to="23" index="OpenHours">
<option value="#openHours#"
<cfif TimeFormat(doctorHours.openTime,'HH') EQ OpenHours AND CountVar EQ doctorHours.day > selected="selected"</cfif>>#OpenHours#</option>
</cfloop>
</cfloop>
</select>
これはそのクエリの CFDUMP です
query
RESULTSET
query
CLOSETIME DAY DOCTORID OPENTIME
1 1970-01-01 16:00:00.0 4 2011041516290025478779 1970-01-01 10:00:00.0
2 1970-01-01 16:00:00.0 1 2011041516290025478779 1970-01-01 13:00:00.0
3 1970-01-01 16:00:00.0 2 2011041516290025478779 1970-01-01 13:00:00.0
CACHED false
EXECUTIONTIME 0
SQL select doctorID, opentime, closetime, day from doctorBusinessHours where doctorID='2011041516290025478779'