0

私は ColdFusion の初心者で、いくつかの基本的な機能を試しているところです。単純なクエリをループして、要素の に値を入れようとしました。要素の値として、クエリの各レコードの ID を設定しようとしました。送信後、選択した値を読み取ろうとしましたが、取得できません

#getAll.id# を選択しました

ここに私のコードがあります:

索引.cfm

<cfquery datasource="testdb" name="getAll">
  select *
  from Personen
</cfquery>
<cfform action="chosen.cfm" method="post">
  <cfselect name="listPersons">
    <cfloop query="getAll">
      <option value="#getAll.id#"><cfoutput>#getAll.id# #getAll.name# #getAll.vorname# #getAll.gebdate# <BR></cfoutput>
    </cfloop>
  </cfselect>
  <cfinput type="Submit" name="Senden" value="Senden">
</cfform>

選ばれた.cfm

<cfoutput>You have chosen #listPersons#</cfoutput>

どこで間違いを犯したか教えてもらえますか?

4

3 に答える 3

4

value属性をcfoutputタグに入れていないため#getAll.id#、クエリからの値ではなく、構造体のキーとして処理されています。を更新するcfloopcfoutput、問題が修正されます。

いくつかのポインタ - 変数のスコープを selected.cfm にする必要がありcfform、通常のform作業を使用する必要はありません。

<cfquery datasource="testdb" name="getAll">
  select *
  from Personen
</cfquery>
<form action="chosen.cfm" method="post">
  <select name="listPersons">
    <cfoutput query="getAll">
      <option value="#getAll.id#">#getAll.id# #getAll.name# #getAll.vorname#     #getAll.gebdate#</option>
    </cfoutput>
  </select>
  <input type="Submit" name="Senden" value="Senden">
</form>

選ばれた.cfm

<cfoutput>You have chosen #form.listPersons#</cfoutput>
于 2014-05-12T14:22:22.427 に答える
1
<cfoutput query="getAll">
#id# #name# 
</cfoutput>

ループするクエリを cfoutput で指定する場合、cfoutput ループ内でクエリ名を繰り返す必要はありません。

于 2014-05-12T19:31:12.137 に答える