ColdFusion MX 輕松制作 FLASH的方法
ColdFusion的<CFGRAPH>還允許我們鏈接到其他的地址,當(dāng)然,也可以傳遞數(shù)值給接受網(wǎng)頁(yè)?,F(xiàn)在,要說(shuō)的就是這。
現(xiàn)在我們看看我在第一節(jié)說(shuō)到的查詢(xún)數(shù)據(jù)庫(kù)代碼。
<CFQUERY NAME="wait" DATASOURCE="cflash">
SELECT sortname, COUNT(*) AS Count
FROM sort,file
WHERE file.sort = sort.sortID
GROUP BY sortname
ORDER BY sortname
</CFQUERY>
這數(shù)據(jù)庫(kù)總共就查了一個(gè)數(shù)值--SORTNAME和一個(gè)SQL合計(jì)函數(shù)?,F(xiàn)在我希望,你們看到一個(gè)圖表,而想進(jìn)一步看看里面的具體文章。但是,我們這里是按類(lèi)別區(qū)分的,只可能點(diǎn)擊進(jìn)去看到一個(gè)類(lèi)別的所有文章,而不是某一篇文章。這容易,只要能鏈接,沒(méi)什么能阻攔我們前進(jìn)腳步的。
現(xiàn)在我們把第一節(jié)那源代碼修改一下,添加幾個(gè)參數(shù)。原來(lái)的代碼如下:
<CFGRAPH
TYPE="Pie"
QUERY="wait"
VALUECOLUMN="Count"
ITEMCOLUMN="sortname"
FILEFORMAT="Flash"
TITLE="The Pie"
borderwidth="0"
depth="10">
</CFGRAPH>
現(xiàn)在我們開(kāi)始改造。值得注意的,這次我們用柱形圖我那數(shù)據(jù)庫(kù)FILE表中的文章類(lèi)型是連接SORT表中的SORTID,而不是SORTNAME,而我們這里只能傳遞SORTNAME,但是我們先不管那么多,傳遞過(guò)去讓那邊用COLDFUSION處理轉(zhuǎn)換。
<CFGRAPH
TYPE="bar"
QUERY="WAIT"
VALUECOLUMN="wait_count"
ITEMCOLUMN="sortName"
FileFormat="flash"
DEPTH="15"
SCALETO="20"
SCALEFROM="0"
Barspacing="10"
Gridlines="4"
URL="show.cfm?sortName="
URLCOLUMN="Sortname">
</CFGRAPH>
如果你看了第2節(jié),你會(huì)發(fā)現(xiàn)就加了3個(gè)參數(shù),一個(gè)是URL,URLCOLUMN。另外一個(gè)是Barspacing URL是用來(lái)連接網(wǎng)頁(yè)地址的,我們目的是鏈接到一個(gè)網(wǎng)頁(yè),顯示那個(gè)類(lèi)別的首頁(yè)。URLCOLUMN是用來(lái)傳遞網(wǎng)頁(yè)地址后面數(shù)值的??戳松厦?,你大概有個(gè)了解吧?當(dāng)然,如果你連接到一個(gè)HTML頁(yè)而后面沒(méi)有參數(shù)了。URLCOLUMN也可以省了。另外上面參數(shù)Barspacing="10",我這里是用柱形顯示的,不想每根柱子都緊緊的挨在一起。所以用了Barspacing來(lái)間隔每根柱子的間距,單位是象素。
修改保存以后運(yùn)行運(yùn)行如下:
可以想象一樣,上面這段代碼是鏈接到 show.cfm?sortname=#sortname#,show.cfm是我們用來(lái)顯示類(lèi)別的首頁(yè)和顯示一篇文章詳細(xì)情況的CFML腳本文件。
現(xiàn)在開(kāi)發(fā)我們來(lái)擺平show.cfm
先頭我說(shuō)了,我傳送的是sortname而不是sortid,當(dāng)用戶(hù)點(diǎn)一個(gè)類(lèi)型的柱子時(shí)候,就傳遞了一個(gè)sortname,例如是XML,這里就要顯示所有XML文章列表,點(diǎn)一個(gè)文章標(biāo)題,就查看這篇文章的詳細(xì)情況。
首先來(lái)轉(zhuǎn)換,把sortname轉(zhuǎn)換成SORTID,然后再查詢(xún)文章
《顯示類(lèi)別代碼1》
<cfquery name="check" datasource="CFLASH">
SELECT sortID,sortName FROM SORT
WHERE SortName='#URL.SortName#'
</cfquery>
<CFQUERY NAME="ShowSort" datasource="CFLASH">
select ID,title from file
where file.sort=#check.sortID#
ORDER BY ID DESC
</CFQUERY>
只要你懂點(diǎn)SQL語(yǔ)句,就很容易理解上面的,第一個(gè)查詢(xún),是提取表里sortname相同與URL傳遞sortname的所有字段,SORT表里總共只有2個(gè)字段第二個(gè)查詢(xún),提取表FILE里面所有類(lèi)型等于第一個(gè)查詢(xún)里面SORTID字段的所有文章ID,TITLE,即ID和文章標(biāo)題。
下面就容易很多了,顯示這個(gè)類(lèi)型所有的文章標(biāo)題列表,稍為修飾了一下。
《顯示類(lèi)別代碼2》
<ul>
<cfoutput query="showsort">
<LI>
<a href="show.cfm?ID=#ID#" target="_blank">#title#</a><br>
</LI>
</cfoutput>
</ul>
<br><br><br><a href="3.cfm">返回圖表</a>
文章標(biāo)題的鏈接還是鏈接到show.cfm網(wǎng)頁(yè),也就是自己本身的網(wǎng)頁(yè)。我們需要加個(gè)判斷。
1。如果URL上傳遞過(guò)來(lái)的sortname,我們查詢(xún)所有文章等于sortname
2。如果URL傳遞過(guò)來(lái)的是ID,我們就查詢(xún)文章ID等于URL上ID的文章。
3、4。如果兩個(gè)參數(shù)都傳遞了,或者什么都不傳遞,我們可以做另外的事,給提示,或者設(shè)置默認(rèn)值。
但是我只說(shuō)前面兩種。第一種我們前面介紹了,顯示所有本類(lèi)型文章列表?,F(xiàn)在我們說(shuō)說(shuō)第2種。先提示一下,如果判斷URL傳遞的值是否存在可以用CF的IsDefined()函數(shù)而不是用象<CFIF URL.SORTNAM>這樣的表達(dá)式,寫(xiě)過(guò)程序的朋友都知道,NULL和“不存在”完全是兩碼事。
顯示文章的詳細(xì)數(shù)據(jù)還要顯示這篇文章是屬于哪個(gè)類(lèi)型。所以查詢(xún)加了一些語(yǔ)句。
《顯示文章代碼1》
<CFQUERY NAME="showdetail" datasource="CFLASH">
select file.title,file.detail,sort.sortID,sort.sortname from file,sort
where ID=#URL.ID# AND file.sort=sort.sortID
</CFQUERY>
《顯示文章代碼2》
<cfoutput query="showdetail">
<b>文章主題</b>:#title#<br>
<b>文章類(lèi)型</b>:#sortname#<br>
<b>詳細(xì)內(nèi)容</b>:
<blockquote>
#detail#
</blockquote><p>
</cfoutput>
<a href="javascript:window.close()">關(guān)閉窗口</a>|<a href="3.cfm">返回圖表</a>
看懂了嗎?如果不懂我也沒(méi)辦法,只有建議你去看看COLDFUSION編程這方面的教程。(注意現(xiàn)在是廣告時(shí)間)對(duì)了,前個(gè)月我路過(guò)李家村,發(fā)現(xiàn)有賣(mài)書(shū)的,專(zhuān)賣(mài)COLDFUSION書(shū),其中有一本叫《輕松掌握COLDFUSION》,入門(mén)非常不錯(cuò),價(jià)格公道,童叟無(wú)欺,,你可瞧準(zhǔn)了,是電子工業(yè)出版社出版的喲。www.china-pub.com
接上面
---------------------------------------------------------------
重新組織一下思路,
1.如果URL傳遞有SORTNAME
執(zhí)行《顯示類(lèi)別代碼1》
然后執(zhí)行《顯示類(lèi)別代碼2》
2.如果URL傳遞有ID
執(zhí)行《顯示文章代碼1》
然后執(zhí)行《顯示文章代碼2》
組合以后源文件如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!---
title:讓ColdFusion來(lái)做FLASH<3>
author:wait(parole@163.net)
description:與CFGGRAPH交互
date:November,11 2002
--->
<CFif Isdefined("URL.SortName")>
<cfquery name="check" datasource="CFLASH">
SELECT sortID,sortName FROM SORT
WHERE SortName='#URL.SortName#'
</cfquery>
<CFQUERY NAME="ShowSort" datasource="CFLASH">
select ID,title from file
where file.sort=#check.sortID#
ORDER BY ID DESC
</CFQUERY>
<ul>
<cfoutput query="showsort">
<LI>
<a href="show.cfm?ID=#ID#" target="_blank">#title#</a><br>
</LI>
</cfoutput>
</ul>
<br><br><br><a href="3.cfm">返回圖表</a>
</CFIF>
<CFIF IsDefined("URL.ID")>
<CFQUERY NAME="showdetail" datasource="CFLASH">
select file.title,file.detail,sort.sortID,sort.sortname from file,sort
where ID=#URL.ID# AND file.sort=sort.sortID
</CFQUERY>
<cfoutput query="showdetail">
<b>文章主題</b>:#title#<br>
<b>文章類(lèi)型</b>:#sortname#<br>
<b>詳細(xì)內(nèi)容</b>:
<blockquote>
#detail#
</blockquote><p>
</cfoutput>
<a href="javascript:window.close()">關(guān)閉窗口</a>|<a href="3.cfm">返回圖表</a>
</CFIF>
代碼拷貝框
以下是引用片段: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <CFif Isdefined("URL.SortName")> <CFQUERY NAME="ShowSort" datasource="CFLASH">
<CFIF IsDefined("URL.ID")> <cfoutput query="showdetail"> </cfoutput> |
你完全可以不寫(xiě),直接下載本教程里面的源文件。象不到我這么懶的人還這么勤快。
現(xiàn)在測(cè)試一下,在IE打開(kāi)3.cfm文件,就是先介紹的帶有URL圖表文件,
我現(xiàn)在點(diǎn)開(kāi)一個(gè)類(lèi)別例如我點(diǎn)FLASH。那么SORNAME=FLASH就會(huì)傳遞給SHWO.cfm網(wǎng)頁(yè),顯示會(huì)象下面這樣下面這樣顯示
隨便點(diǎn)一個(gè)文章標(biāo)題,會(huì)在新窗口中彈出所點(diǎn)的那篇文章詳細(xì)情況。
結(jié)束語(yǔ):這只是COLDFUSION和FLASH結(jié)合的一部分,但是不支持中文,如果改用COLFUSION配合JAVA那就能實(shí)現(xiàn)K形圖,數(shù)據(jù)實(shí)時(shí)變化了.但是我們這里討論的是CF和FLASH的結(jié)合.另外COLDFUSION利用FLASH COMPONENT KIT還有更多的效果,那時(shí)候我們就可以做真正動(dòng)態(tài)的FLASH站點(diǎn)了。不過(guò)哪有下載我也沒(méi)找到。誰(shuí)有可以給我發(fā)一份。我先在這里說(shuō)聲謝謝。本教程網(wǎng)上沒(méi)有演示,因?yàn)樘摂M主機(jī)太貴,如果哪位有空間的朋友愿意代勞在網(wǎng)上演示一下我會(huì)感激不盡的。也歡迎喜歡ColdFusion的朋友和我交流。Parole@163.net
相關(guān)文章
ColdFusionMX 編程指南 ColdFusionMX編程入門(mén)
ColdFusionMX 編程指南 ColdFusionMX編程入門(mén)...2007-03-03ColdFusionMX 編程指南 ColdFusionMX Basic Tag編程
ColdFusionMX 編程指南 ColdFusionMX Basic Tag編程...2007-03-03Coldfusion MX PageList 菜鳥(niǎo)版教程
Coldfusion MX PageList 菜鳥(niǎo)版教程...2007-03-03