ColdFusion的<CFGRAPH>還允許我們鏈接到其他的地址,當然,也可以傳遞數(shù)值給接受網(wǎng)頁,F(xiàn)在,要說的就是這。
現(xiàn)在我們看看我在第一節(jié)說到的查詢數(shù)據(jù)庫代碼。
<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ù)庫總共就查了一個數(shù)值--SORTNAME和一個SQL合計函數(shù),F(xiàn)在我希望,你們看到一個圖表,而想進一步看看里面的具體文章。但是,我們這里是按類別區(qū)分的,只可能點擊進去看到一個類別的所有文章,而不是某一篇文章。這容易,只要能鏈接,沒什么能阻攔我們前進腳步的。
現(xiàn)在我們把第一節(jié)那源代碼修改一下,添加幾個參數(shù)。原來的代碼如下: <CFGRAPH TYPE="Pie" QUERY="wait" VALUECOLUMN="Count" ITEMCOLUMN="sortname" FILEFORMAT="Flash" TITLE="The Pie" borderwidth="0" depth="10"> </CFGRAPH> 現(xiàn)在我們開始改造。值得注意的,這次我們用柱形圖我那數(shù)據(jù)庫FILE表中的文章類型是連接SORT表中的SORTID,而不是SORTNAME,而我們這里只能傳遞SORTNAME,但是我們先不管那么多,傳遞過去讓那邊用COLDFUSION處理轉換。 <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é),你會發(fā)現(xiàn)就加了3個參數(shù),一個是URL,URLCOLUMN。另外一個是Barspacing URL是用來連接網(wǎng)頁地址的,我們目的是鏈接到一個網(wǎng)頁,顯示那個類別的首頁。URLCOLUMN是用來傳遞網(wǎng)頁地址后面數(shù)值的?戳松厦妫愦蟾庞袀了解吧?當然,如果你連接到一個HTML頁而后面沒有參數(shù)了。URLCOLUMN也可以省了。另外上面參數(shù)Barspacing="10",我這里是用柱形顯示的,不想每根柱子都緊緊的挨在一起。所以用了Barspacing來間隔每根柱子的間距,單位是象素。 修改保存以后運行運行如下:
可以想象一樣,上面這段代碼是鏈接到 show.cfm?sortname=#sortname#,show.cfm是我們用來顯示類別的首頁和顯示一篇文章詳細情況的CFML腳本文件。 現(xiàn)在開發(fā)我們來擺平show.cfm 先頭我說了,我傳送的是sortname而不是sortid,當用戶點一個類型的柱子時候,就傳遞了一個sortname,例如是XML,這里就要顯示所有XML文章列表,點一個文章標題,就查看這篇文章的詳細情況。 首先來轉換,把sortname轉換成SORTID,然后再查詢文章
《顯示類別代碼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>
只要你懂點SQL語句,就很容易理解上面的,第一個查詢,是提取表里sortname相同與URL傳遞sortname的所有字段,SORT表里總共只有2個字段第二個查詢,提取表FILE里面所有類型等于第一個查詢里面SORTID字段的所有文章ID,TITLE,即ID和文章標題。
下面就容易很多了,顯示這個類型所有的文章標題列表,稍為修飾了一下。 《顯示類別代碼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>
文章標題的鏈接還是鏈接到show.cfm網(wǎng)頁,也就是自己本身的網(wǎng)頁。我們需要加個判斷。 1。如果URL上傳遞過來的sortname,我們查詢所有文章等于sortname 2。如果URL傳遞過來的是ID,我們就查詢文章ID等于URL上ID的文章。 3、4。如果兩個參數(shù)都傳遞了,或者什么都不傳遞,我們可以做另外的事,給提示,或者設置默認值。 但是我只說前面兩種。第一種我們前面介紹了,顯示所有本類型文章列表,F(xiàn)在我們說說第2種。先提示一下,如果判斷URL傳遞的值是否存在可以用CF的IsDefined()函數(shù)而不是用象<CFIF URL.SORTNAM>這樣的表達式,寫過程序的朋友都知道,NULL和“不存在”完全是兩碼事。
顯示文章的詳細數(shù)據(jù)還要顯示這篇文章是屬于哪個類型。所以查詢加了一些語句。 《顯示文章代碼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>文章類型</b>:#sortname#<br> <b>詳細內(nèi)容</b>: <blockquote> #detail# </blockquote><p>
</cfoutput> <a href="javascript:window.close()">關閉窗口</a>|<a href="3.cfm">返回圖表</a>
看懂了嗎?如果不懂我也沒辦法,只有建議你去看看COLDFUSION編程這方面的教程。(注意現(xiàn)在是廣告時間)對了,前個月我路過李家村,發(fā)現(xiàn)有賣書的,專賣COLDFUSION書,其中有一本叫《輕松掌握COLDFUSION》,入門非常不錯,價格公道,童叟無欺,,你可瞧準了,是電子工業(yè)出版社出版的喲。www.china-pub.com 接上面 ---------------------------------------------------------------
重新組織一下思路, 1.如果URL傳遞有SORTNAME 執(zhí)行《顯示類別代碼1》 然后執(zhí)行《顯示類別代碼2》
2.如果URL傳遞有ID 執(zhí)行《顯示文章代碼1》 然后執(zhí)行《顯示文章代碼2》
組合以后源文件如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <!--- title:讓ColdFusion來做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>文章類型</b>:#sortname#<br> <b>詳細內(nèi)容</b>: <blockquote> #detail# </blockquote><p>
</cfoutput> <a href="javascript:window.close()">關閉窗口</a>|<a href="3.cfm">返回圖表</a> </CFIF>
代碼拷貝框
[Ctrl+A 全部選擇 然后拷貝] 你完全可以不寫,直接下載本教程里面的源文件。象不到我這么懶的人還這么勤快。 現(xiàn)在測試一下,在IE打開3.cfm文件,就是先介紹的帶有URL圖表文件, 我現(xiàn)在點開一個類別例如我點FLASH。那么SORNAME=FLASH就會傳遞給SHWO.cfm網(wǎng)頁,顯示會象下面這樣下面這樣顯示
隨便點一個文章標題,會在新窗口中彈出所點的那篇文章詳細情況。
結束語:這只是COLDFUSION和FLASH結合的一部分,但是不支持中文,如果改用COLFUSION配合JAVA那就能實現(xiàn)K形圖,數(shù)據(jù)實時變化了.但是我們這里討論的是CF和FLASH的結合.另外COLDFUSION利用FLASH COMPONENT KIT還有更多的效果,那時候我們就可以做真正動態(tài)的FLASH站點了。不過哪有下載我也沒找到。誰有可以給我發(fā)一份。我先在這里說聲謝謝。本教程網(wǎng)上沒有演示,因為虛擬主機太貴,如果哪位有空間的朋友愿意代勞在網(wǎng)上演示一下我會感激不盡的。也歡迎喜歡ColdFusion的朋友和我交流。Parole@163.net
本文鏈接:http://m.95time.cn/tech/program/2003/313.asp
出處:藍色理想
責任編輯:無意
上一頁 ColdFusion MX 輕松制作 FLASH - 第二天 下一頁
◎進入論壇網(wǎng)絡編程版塊參加討論
|