用科讯CMS 制作选秀活动在线投票系统-建站经验教程
从“超级女声”到“快乐男声”,从“梦想中国”到“星光大道”,轰轰烈烈的选秀风暴在近几年大为流行。今天我为大家介绍下KesioncmsV6打造在线投票系统。
投票系统的作用?
在线投票系统用于诸如大队部人员选举,优秀教师评选,可爱宝宝等等在线调查评选,附带统计功能,投票结果即时显示,既然这么好用,又需要,那么咱们还是废话少说几句,抓紧时间一起来利用我们的科汛的图片系统来轻松打造在线投票管理系统。
首先,我们看效果图:
分析:如上图所示,图中我们看到有参赛者照片,参赛者姓名,所在地区,得票总数和投票的按钮。
接下来,我们开始动手吧
首先,先到图片模型下建一个栏目,绑定图片系统模型,栏目名称自己命名,比如佳丽秀如下图:
添加栏目完成后,根据我们刚才的分析,需要调用参赛者的所在区域,需要自定义字段,我们点击模型管理—图片系统字段进入新增字段,如下图:
添加完成,进入添加参赛选手。
点击添加图片,如下图所示:
点击“确定保存”。
下面我们就开始建标签调用
点击后台左边的管理操作导航:标签—自定义SQL函数标签—新建标签:
标签名称:在线投票(自定义)
数据源:Kesioncms主数据库
Ajax调用:是投票后不需刷新网页即时输出,否需要刷新网页才显示
标签类型:普通标签不分页,参赛者比较多的话选择终级分页标签可以分页显示
第二步:从图片数据表中选择要用到的字段,如下图:
最终查询语句如下:
select ID,Title,PhotoUrl,Score,picturecontent,KS_area from KS_Photo where tid='{$CurrClassID}' order by id desc
击下一步继续,写循环体,如下所示(要显示成什么样式,大家可以自己写代码)
[loop=10] <table width="400" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:5px;"> <tr> <td height="144" align="center" style="padding-bottom:5px;">
<table width="138" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td class="tu"><a href="{$Field(ID,GetInfoUrl,2,1)}"><img src="{$Field(PhotoUrl,Text,0,...,0,)}" width="138" height="138" border="0"/></a></td></tr> <tr> <td height="5" align="center"></td> </tr> <tr> <td height="20" align="center" class="conter_right_ziti">姓 名:<a href="{$Field(ID,GetInfoUrl,2,1)}"><span class="conter_right_ziti">{$Field(Title,Text,0,...,0,)}</span></a></td></tr> <tr> <td height="20" align="center" class="conter_right_ziti">所在区域:<a href="{$Field(ID,GetInfoUrl,2,1)}"><span class="conter_right_ziti">{$Field(KS_area,Text,0,...,0,)}</span></a></td></tr> <tr> <td align="center"> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td height="20" class="conter_right_ziti2">得票数:{$Field(Score,Num,0,2)}</td><td valign="top"> <a href="/Item/vote.asp?m=2&id={$Field(ID,GetInfoUrl,2,2)}"><img src="/images/anniu.gif" width="58" height="16" border="0"></a> </td></tr> </table></td> </tr> </table> </td> <td width="200" valign="top" style="padding-bottom:5px;"><p>自我介绍:</p> <p>{$Field(picturecontent,Text,0,...,0,)}</p></td> </tr> </table> [/loop] |
OK,最后轻轻点击一下你的鼠标,点击“确定保存”,标签建立完成。
下面把这个标签放到模板中要显示的位置{SQL-在线投票()},刷新网页就可以看到效果了。
用户在前台根据自己喜欢的选手点击“给我投票”按钮进行投票,最终效果如下图所示:
最后小提示一下:
为了公平公正,投票可以根据是否会员,是否一个IP只允许投一票进行设置。
打开vote.asp文件,可以设置,找到以下代码进行设置:
Const UserTF=1 ‘是否只允许会员投票 1是 0否
Const UserIPTF=1 ’是否一个IP只允许投一票 1是 0否
Const UserGroup=“0” ‘允许投票的会员组,多个会员组请用,号隔开,不想限制请输入0
以下由"科汛官方"管理员补充
自动刷新获得实时的票数,在对应的列表页模板里加入以下脚本即可
<script language="Javascript" defer>
var time=1000 //单位毫秒,设置1秒刷新一次
setInterval("doload()", time);
function doload()
{
Page(1,'{SQL_'+'自定义标签名称'+'()}','{$GetClassID}','/','plus/ajaxsql.asp','','');
}
</script>
注意以上两处用户的地方,改成你自己的标签名即可实现每隔一段时间自动刷新