一个朋友做了个论坛,小有人气。想要用户在论坛的某板块里发照片,显示到首页并且可以被评分。论坛采用的是相当成熟而且人气市场很高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上百实例源码以及开源项目