asp編程:召開自己的新聞發布會

來源:互聯網
上載者:User
編程
  更新每天的新聞內容,對站長們來說是一件非常頭痛的事。收集了大量的新聞資料後,還必須製作大量的網頁。每天大大小小的國際新聞、國內新聞、IT新聞,可真夠你累的。最致命的一點,這些組織得鬆散的新聞是管理不了的。不能查詢,不能線上動態刪改。新聞講求時效性,當你作好網頁然後上傳到伺服器上的時侯,恐怕別人已先你一步把新聞報匯出來了,當真是吃力不討好。針對我們現在的上網環境,實現線上發布新聞、動態產生新聞網頁、為新聞添加搜尋和尋找等功能是必不可少的。

  定製新聞發布系統的方法大致上有兩種:一是把錄入的新聞內容自動由程式直接產生HTML檔案,比如按日期和新聞ID號來做HTML檔案的名稱,我們常常可以從一些大新聞網站看到這樣的處理。另一種是直接把新聞資料儲存到資料庫裡,當使用者閱讀新聞時,從資料庫中調出資料,動態產生頁面。
    
  兩種處理有何差別?第一種的顯示速度和對伺服器的負荷來說是最輕的。對於大流量的網站,速度就是生命,網站太慢了,有誰去瀏覽呢?後一種方法在處理上比較簡便,維護也方便。因為只有應用程式資料庫才能方便地處理查詢,從而把讀者引導至相應的新聞頁面。綜合上面的方法,可以說是各有千秋,現在我們主要介紹資料庫的使用方法。
    
  一、處理流程
    
  從處理流程上來說,主要是提供一個管理新聞的頁面(可以添加和刪除每天的新聞,包括新聞圖片、標題等),然後在調用新聞的顯示頁面裡處理。考慮到新聞需要插到不同風格的網頁中,所以不能使用一個固定格式的頁面來顯示新聞提要,應當把它們做成一個首頁的可插入部分。就如下面的script語句
    
  <script language="JavaScript" src="http//xxx.com.cn/special/linux/lnews/autoup.asp">
  </script>
    
  最後還有一個閱讀新聞時的詳細內容頁面。總的來說,也就是一個可以完成線上新聞發布的程式主要由四大部分程式構成:addnew.asp(用於把新聞資料儲存到資料庫中)、delete.asp(用於處理刪除新聞) 、autoup.asp(用於處理新聞的標題顯示,也就是插入首頁的部分)、read.asp(動態產生新聞的詳細內容)。
    
  協助處理的部分有set_disp.asp(用於處理新聞在首頁的顯示數目等等)。
    
  當然,必不可少的就是一個新聞資料庫了。
    
  二、添加和管理每天的新聞內容
  
  當進行了新聞提交後,則由一個名為addnew.asp的ASP程式來對新聞內容進行處理,以便分類和儲存。為了顯示清晰,我們每提交一條新聞,下面的那個新聞內容庫就重新讀入,以便可以查看新聞是否能成功加入都資料庫中,也可以方便地刪除新聞內容。 
  
  現在看看addnew.asp是如何完成程式處理的。
    
  原始碼下載地址:http://www.popunet.com/2001/zip/39-1.zip

  程式中首先判斷了所提交的新聞是否符合條件。比如新聞標題不可為空,而分行符號也得轉換為HTML語句的“br”,否則不能正常地顯示出新聞的格式,而這裡採用了一個包含檔案data.inc,它的用處主要是用於串連不同的資料庫,所以ASP程式都通過包含這個檔案來指定資料來源,那麼當更改使用別的資料庫時,只需要更改這個檔案,就能方便地實現不同資料庫間的切換,是不是十分方便呢?
  
  以下的data.inc檔案的內容。
    <%
     Set conn = Server.CreateObject("ADODB.Connection")
     DBPath = Server.MapPath("/")&"/news/data/data.mdb"
     conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & DBPath
%>
 
  還有需要注意一下的是,WINNT和Windows 98的日期時間函數所返回的值是不同的,Win98是以24小時來計算的,而NT Server則使用12小時,另外加上“上午”和“下午”來表示,因此需要作出少許的更改處理。
 
  程式處理完畢後,重新導向delete.asp檔案,用以重新整理新聞資料庫內的顯示,那麼每提交一條新聞資料,我們馬上可以看見執行的結果是否成功了。
    
  以下是delete.asp的檔案內容。
    
  原始碼下載地址:http://www.popunet.com/2001/zip/39-1.zip

  delete.asp也是一個構成webadmin.htm的管理頁面的ASP檔案,它負責新聞資料庫的標題顯示,以便讓你知道現在庫中有些什麼新聞。同時可以通過它來刪除新聞記錄。另外一個附加的ASP程式set_diap.asp用於控制每一類新聞在首頁上顯示的數目,它主要使用application對象來設定。

    <%  language="vbscript" %>
    <%
    response.buffer=true
    Response.Expires=0
    application("disp_1")=request.form("disp_1")
    application("disp_2")=request.form("disp_2")
    application("disp_3")=request.form("disp_3")
    application("disp_4")=request.form("disp_4")
    application("disp_5")=request.form("disp_5")
    response.redirect "delete.asp"
    %>
  
  完成了上面的程式,我們的新聞發布系統就可以使用線上添加、刪除和設定顯示等功能了。需要加上搜尋功能,也可以在這個基礎上加上。下一節我們來分析如何令新聞代碼嵌入不同的網頁,實現真正的線上新聞功能。
    
  三、將新聞代碼插入頁面
  
  最好的新聞發布當然是為網站本身定做的,那樣才能與首頁風格一致,但如此一來,新聞發布系統又缺乏了通用性,不能移植到別的網站上使用。有得必有失,關鍵是找一個平衡點。綜合來考慮,最好的做法是與頁面分離,這樣就可以不影響網頁的外觀,而也能達到很好的效果。在使用新聞的網頁上我們可以通過放置一條這樣的script語句來調用新聞代碼:

  <script language="JavaScript"
src="http//xxx.com.cn/special/linux/lnews/autoup.asp">
    
  現在請大家看看autoup.asp的代碼。

  原始碼下載地址:http://www.popunet.com/2001/zip/39-1.zip

  通過定製這段代碼,就能製作出符合要求的網頁顯示格式。
  
  OK,添加、刪除、顯示都講解完了,最後一項,就是把新聞的詳細內容顯示出來。當使用者點擊新聞標題,就開啟disp.asp檔案,同時使用GET這種方式來把參數傳遞過去。
    
  disp.asp的檔案內容:
    
  原始碼下載地址:http://www.popunet.com/2001/zip/39-1.zip

  至此,新聞發布系統已能投入使用,試試看,是不是很方便,很容易就能增添每天的新聞內容了。我們還可以為新聞發布系統加入標題/全文檢索索引功能,讓它更加完美。



相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.