用ASP为Discuz扩展点小功能

mac2022-06-30  142

一个朋友做了个论坛,小有人气。想要用户在论坛的某板块里发照片,显示到首页并且可以被评分。论坛采用的是相当成熟而且人气市场很高Discuz!,Comsenz公司旗下产品,非常好的PHP论坛。

他的站又是ASP,无法访问MySQL,但是又要解决朋友的燃眉之急。话不多说,看我是怎么做的。

根据功能建表(Access)

id 自动编号

author 文本 (字段大小20)

title 文本 (字段大小250)

date 时间

imgfile 文本 (字段大小255)

rates 数字 (整型)

votes 数字 (整型)

score 数字 (整型)

Discuz!后台,进行外部数据调用,得到想要的论坛板块数据。

模板(根据不同的需求)

Code 1<img src="{imgfile}" width="500" height="300" alt="{author}|{subject}|{dateline}" id="topic" onload="getImg(this);" border="0" />

稍微解释一下,怕不熟悉的人不懂,写详细点,礼多人不怪嘛~

{imgfile} 图片文件地址

{author} 用户名

{subject} 标题

{dateline} 时间

看到 img 标签带 onload 事件,很多人就明白我想干什么了吧。

采用AJAX获取图片,并转存储数据

Code  1function getImg(img) 2    { 3        var ImgInfo = img.alt.split('|'); 4                var ImgUrl = img.src; 5                getImgInfo("Url="+ImgUrl+"&Author="+ImgInfo[0]+"&Title="+ImgInfo[1]+"&Date="+ImgInfo[2]) 6    } 7 8        var xmlHttp = false; 9           try {10             xmlHttp = new XMLHttpRequest();11               } catch (trymicrosoft) {12            try {13             xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");14             } catch (othermicrosoft) {15            try {16            xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");17                } catch (failed) {18             xmlHttp = false;19                    }  20                }21            }2223       if (!xmlHttp)24         alert("Error initializing XMLHttpRequest!");2526       function getImgInfo(e) {27             var url = "img.asp?" + e;28             xmlHttp.open("GET", url, true);29             xmlHttp.onreadystatechange = updateImg;30             xmlHttp.send(null);31        }3233       function updateImg() {34         if (xmlHttp.readyState == 4{35           if (xmlHttp.status == 200{36                //alert('成功')37        //测试正常后关闭响应38        }39           else if (xmlHttp.status == 404{40           alert('请求的网址不存在!');41       }42        else {43           alert('错误:错误代码为:' + xmlHttp.status);44           }45         }46        }

获取数据

Code  1<!--#include file="Include/conn.asp" --> 2<% 3Response.ContentType = "text/xml" 4Response.CharSet = "GB2312" 5 6if Request("Url"<> "" then 7    Dim Pic,User,Title,Date 8    Pic = Request("Url") 9    User = Request("Author")10    Title = Request("Title")11    Date = Request("Date")12    Set rs = server.CreateObject ("adodb.recordset")13    sql="select top 1 * from album order by id desc"14    rs.open sql,conn,1,315        if rs("picture"<> Pic then16            rs.AddNew17            rs("author"= User18            rs("title"= Title19            rs("imgfile"= Pic20                re("date"= Date21            rs.update22            response.write "true|成功得到图片"23    end if24    rs.close25    Set rs = nothing26    else27        response.write "false|出现错误"28    end if29        30%>

评分同样采用AJAX,办法同理,就不写了。

这样二级页面读取出来,就行了。

转载于:https://www.cnblogs.com/Kurodo/archive/2009/01/19/1378448.html

相关资源:JAVA上百实例源码以及开源项目
最新回复(0)