データベースにp1、p2、p3などのフィールドがいくつかあり、GetUserというクエリによって返されています。私はそれらの値をチェックしたいが、次のコードエラーは私に出てくる。私はGetUser.p#x#の書式設定が間違っていると確信していますが、私はそれを行う方法を理解できません。どんな助けでも大歓迎です。cfloopでフィールド名に変数を使用する
私の作品次のコードを、持っている...
<cfquery name="GetUser">
SELECT id, p00, p01, p02, p03, p04, p05, p06
FROM users
where id = #session.user_id#
</cfquery>
<cfoutput query="GetUser">
<cfif p01 is 1><li>Post 01</li></cfif>
<cfif p02 is 1><li>Post 02</li></cfif>
<cfif p03 is 1><li>Post 03</li></cfif>
<cfif p04 is 1><li>Post 04</li></cfif>
<cfif p05 is 1><li>Post 05</li></cfif>
<cfif p06 is 1><li>Post 06</li></cfif>
</cfoutput>
は当然のことながら、これはこれを行うのひどい方法ですので、私は同じ結果を達成するために、次のようにのようなループをやってみたかった。
をこのエラーのBt<cfloop index = "x" from = "1" to = "6">
<cfif GetUser.p0#x# is 1><li>Post #x#</li></cfif>
</cfloop>
アウト。だから私はこれを達成する方法を理解するために探しています。 QUERYNAME [ "COLUMNNAME"] [ROWNUMBER]が必要であることを示唆している同様の質問が
//があります。これは異なっており、より簡単です。わかりやすくするために編集された
'getUser ['p0' + x]'は、クエリ内の動的変数の構文です。 –
これは "あなたのクエリから"と言わなければならない。 –
閉じるが、それほどではない。 <= "0" から= "9" までのcfloopインデックスは= "X">ポスト0#xが# エラーで \t結果:キャストすることができません[p0]文字列を数値に変換します。 –
mck