1

ユーザーがさまざまな画像をギャラリーにアップロードするためのフォームを作成しました。画像、既存のカテゴリ (または新しいカテゴリを作成する) を選択し、その画像をそのカテゴリの「おすすめ」画像として表示するかどうかを選択できます。

フォームは次のとおりです。

<FORM action='update_gallery.cfm' method='post' NAME="addform">
<TABLE align='center' cellpadding='10' cellspacing='5'>
<TR><TH>Delete</TH><TH>Image File</TH><TH>Preview</TH><TH>Category</TH><TH>New Category</TH><TH>Description</TH><TH>Featured?</TH></TR>
<CFOUTPUT QUERY="getGallery">
<TR>
<TD><INPUT NAME="ID" TYPE="checkbox" VALUE="#ID#" /></TD>
<TD>#IMAGE#</TD>
<TD><IMG SRC="../images/#IMAGE#" WIDTH='50' HEIGHT='50' /><INPUT TYPE="hidden" NAME="IMAGE" VALUE="#IMAGE#" /></TD>
<TD>
    <SELECT NAME='CATEGORY'>
    <CFLOOP query="getCategory">
        <OPTION <cfif #getGallery.CATEGORY# IS '#getCategory.CATEGORY#'>SELECTED</cfif>>#getCategory.CATEGORY#</OPTION>
    </CFLOOP>
</SELECT>
</TD>
<TD><INPUT TYPE="text" SIZE='30' NAME='NewCATEGORY' VALUE="" /></TD>
<TD><INPUT TYPE="text" SIZE='35' NAME="IMAGE_DESC" VALUE="#IMAGE_DESC#" /></TD>
<TD align="center">
<INPUT TYPE="radio" NAME="#CATEGORY#_PIC" ID="CATEGORY_PIC" VALUE="Yes" <cfif #CATEGORY_PIC# IS 'Yes'>CHECKED</cfif> />
<INPUT TYPE="hidden" NAME="CATEGORY_PIC" VALUE="#CATEGORY_PIC#">
</TD>
</TR>
<INPUT TYPE="hidden" NAME="HiddenID" VALUE='#ID#' />
</CFOUTPUT>
<TR><TD COLSPAN='6' ALIGN='CENTER'>
<INPUT TYPE="hidden" NAME="Submitted" VALUE='Y' /><INPUT TYPE="submit" VALUE='Process Updates' /></TD></TR>
</TABLE>
</FORM>

これは、どうすればよいか分からない複雑な部分です。固有のカテゴリごとに、選択できる注目の画像は 1 つだけです。そのため、カテゴリごとに動的に名前が付けられたラジオ グループを作成し、1 つのアイテムのみを選択できます。カテゴリーごとに選ばれています。フォームが送信されると、ColdFusion に関する限り、「チェックされていない」ラジオ ボタンは存在しません。チェックされていないボタンには「いいえ」の値をデータベースに送信し、チェックされているボタンには「はい」の値を送信する必要があります。この値は、隠しフォーム フィールドを作成した CATEGORY_PIC 値である必要があります。

私はこれに4日間連続で取り組んでおり、見つけられる可能性のある同様のシナリオをすべて検索しましたが、私が達成しようとしているものと同じものはありません. それほど難しいことではありませんが、これを行う方法がわかりません。

MS Access データベースで ColdFusion 9 を実行しています。

4

2 に答える 2

1

update_gallery.cfm ページでそれらをパラメーター化できませんか?

<cfparam name="CATEGORY_PIC" default="No">

ダイナミック用

<cfparam name="#category#_pic" default="no">

また

<cfscript>if(!isDefined('CATEGORY_PIC')){CATEGORY_PIC='No';}</cfscript>
<cfscript>if(!isDefined('#CATEGORY#_PIC')){'#CATEGORY#_PIC'='No';}</cfscript>
于 2012-06-27T23:28:49.757 に答える
-3
<!--- Sample Data Set --->
<cfset gallery = "1,1.jpg,preview1.jpg,cat1,description1,true
5,5.jpg,preview5.jpg,cat1,description5,false
2,2.jpg,preview1.jpg,cat2,description2,false
6,6.jpg,preview6.jpg,cat2,description6,true
3,3.jpg,preview3.jpg,cat3,description3,false
7,7.jpg,preview7.jpg,cat3,description7,true
4,4.jpg,preview4.jpg,cat4,description4,true
8,8.jpg,preview8.jpg,cat4,description8,false">
<cfset category = "cat1
cat2
cat3
cat4">
<cfif isDefined('data')>
    <cfsetting showdebugoutput="false">
    <cfif isDefined(data)>
        <cfoutput>#evaluate(data)#</cfoutput>
    </cfif>
<cfelse>
    <!--- Populate Queries --->
    <cfhttp
        name="getGallery"
        method="get"
        url="#script_name#?data=gallery"
        firstrowasheaders = "no" 
        columns = "id,image,preview,category,image_desc,category_pic"
    />
    <cfhttp
        name="getCategory"
        method="get"
        url="#script_name#?data=category"
        firstrowasheaders = "no" 
        columns = "category"
    />

    <!--- Jennifer's Code --->   
    <form action='update_gallery.cfm' method='post' name="addform">
        <table align='center' cellpadding='10' cellspacing='5'>
            <tr><th>delete</th><th>image file</th><th>preview</th><th>category</th><th>new category</th><th>description</th><th>featured?</th></tr>
            <cfoutput query="getgallery">
                <tr>
                    <td><input name="id" type="checkbox" value="#id#" /></td>
                    <td>#image#</td>
                    <td><img src="../images/#image#" width='50' height='50' /><input type="hidden" name="image" value="#image#" /></td>
                    <td>
                        <select name='category'>
                            <cfloop query="getcategory">
                                <option <cfif getgallery.category eq getcategory.category>selected</cfif>>#getcategory.category#</option>
                            </cfloop>
                        </select>
                    </td>
                    <td><input type="text" size='30' name='newcategory' value="" /></td>
                    <td><input type="text" size='35' name="image_desc" value="#image_desc#" /></td>
                    <td align="center">             
                        <input type="radio" name="#getGallery.category#_pic" id="category_pic" value="#id#" <cfif getGallery.category_pic>checked="checked"</cfif>>
                    </td>
                </tr>
                <input type="hidden" name="hiddenid" value='#id#' />
            </cfoutput>
            <tr><td colspan='6' align='center'>
            <input type="hidden" name="submitted" value='y' /><input type="submit" value='process updates' /></td></tr>
        </table>
    </form>

</cfif>
于 2012-06-27T23:56:29.983 に答える