2012-04-03 5 views
0

データベースデータとカスタムループを同時に組み込んだドロップダウンリストを作成しようとしています。私は、データベースから来るデータを「選択」して表示するだけでなく、必要に応じてリスト上の他のデータでユーザがそれを変更できるようにするために、リストを必要とします。ColdFusion 9のリストをドロップ

は具体的には、これは私がこれまで持っているものです:値が実際値オプションの残りの部分は消えているデータベースから引き出されたとき#OpenHours#が隔離されているので、

<select name="openHours#CountVar#"> 
    <cfloop from="0" to="23" index="OpenHours"> 
     <option value="#OpenHours#"><cfif doctorHours.openTime neq ''>#TimeFormat(doctorHours.openTime)#<cfelse>#OpenHours#</cfif></option> 
    </cfloop> 
</select> 

このコードに問題があると私はどちらか一方だけを持つことができます。また、更新の際に正しい値を得るためには、値も動的でなければなりません。

私はこの部分

<cfif doctorHours.openTime neq ''> 
    #TimeFormat(doctorHours.openTime)# 
<cfelse> 
    #OpenHours# 
</cfif> 

ダウンリスト私のドロップに示す正しい値を持っているともリ​​ストに押すと別のものを選択することができるようにするために、何らかの形で「選択」オプションで..組み込むことができます必要に応じてタイムテーブルを更新するオプション?

私は必要なものの上に詳細情報を追加:

私はそれで3列のdbテーブルを持っています。 ID、openHours、およびcloseHoursです。 私が達成しようとしているもの: 時間が0から23までのドロップダウンリストを作成します。次に、openHoursおよびcloseHoursが空でない場合は、自分のdbをチェックし、それらの値を取得して、ドロップダウンリストに表示されます。 私の医者が午前9時に開き、午後6時に閉じると、2つのドロップダウンリストは09と18を選択し、それらを更新したい場合は別のオプションを選択することもできます。 私は私のdbテーブルをチェックする必要があり、私のデータがドロップダウンリストのデータのいずれかと一致する場合は、その選択をオンにします。

これ以上の意味での希望。 :)

+0

cfifクローズタグがありません。 –

+0

私の問題ではありません:) – Geo

+0

@JoshSiokおそらく私は私のコードをきれいに見せようとしていたときに、私はそれを修正します。ありがとう – Geo

答えて

4
<select name="openHours#CountVar#"> 
    <cfloop from="0" to="23" index="OpenHours"> 
     <option value="#OpenHours#"<cfif TimeFormat(doctorHours.openTime,'H') EQ OpenHours> selected="selected"</cfif>>#OpenHours#</option> 
    </cfloop> 
</select> 

これは、あなたが探しているものをあなたに与える必要があります。リスト0から23をループし、それぞれを表示します。表示されている値がdoctorHours.openTimeと一致する場合、選択されたものとして表示されます。

+0

これはうまくいきました。今日は何日かに基づいて正しい時間を取得するために日を分けなければなりませんが、これは私が把握できるものです。私の問題は、2つの変数を比較するときに正しいフォーマットを使用していないことです。もう一度お返事します – Geo

+0

少しきれいな構文が必要な場合は、 'TimeFormat(doctorHours.openTime、' H ')'の代わりに 'Hour(doctorHours.openTime) –

3

私はこれがあなたが必要と考えるかもしれないと思う。

<option value="#OpenHours#" <cfif doctorHours.openTime EQ OpenHours>selected="selected"</cfif> >#openHours#</option> 
+0

"#openHours"の後にハッシュマークがありません。 –

+0

試してくれてありがとうございますが動作しません。 – Geo

+0

@Josh - コードの入力ミスが修正されました – Leigh

1

これはあなたが探しているものですか?

<select name="openHours#CountVar#"> 
    <cfoutput query="doctorHours"> 
     <cfif doctorHours.openTime neq ''> 
      <option name="#TimeFormat(doctorHours.openTime)#">#TimeFormat(doctorHours.openTime)#</option> 
     </cfif> 
    </cfoutput> 
</select> 
+0

このオプションは、データベーステーブルのデータのみを表示するので、これらのデータも変更するオプションが必要です。このリストには、データベースに保存されている時間のみが表示されます。私が望むのは、テーブルからその時間(1つだけ)を引っ張り、リストに0から23までの時間を表示することです。次に、データベースと時間をリストと比較して、時間が一致してその値を選択します。理にかなっている? – Geo

+0

@Crematorio - もっとコーヒーが必要かもしれませんが、あなたが何をしているのかまだまだ明確ではありません;)実際の結果の例とその代わりにあなたが望むものであなたの質問を更新できますか?私はそれが物事を動かすと思う。 – Leigh

+0

@Leigh私の質問が更新されました。さらに明確にするために私がまだ必要な場合はお知らせください。 :) – Geo

関連する問題