济南网站建设,网站运营维护,网站优化
技术探讨您当前的位置:智达维网络科技 > 建站知识 > 技术探讨 >

济南建设网站中刊稿排行功能如何实现?

更新时间:2018-03-15 11:06:31 作者:千寻建站 访问量:20

济南建设网站中刊稿排行功能如何实现?
济南建设网站中刊稿排行功能如何实现?

1 最近刊稿排行

1.1 设计思路
    最近刊稿排行展示的是当月的刊稿排行情况, 其基本原理与年度排行相似, 差别就是其数据需要每月更新, 当月的月初所有数据清零, 重新计数。因此, 设计一个新表month_scores, 专门记录各个单位的当月刊稿数量, 主要字段有用户号、用户名、奖励积分。每个月数据的更新也是通过计时网页来实现, 当每月一日时, 将month_scores 表中所有会员的奖励积分全部清零。显示原理与年度排行的情况相同,只是提取的目标数据表改为“month_scores” 即可。
1.2 功能实现
1.2.1 增加当月奖励积分
    打开archives_do.php, 找到function checkArchives ( ), 在以下位置添加审核后增加当月积分代码:
while ($row = $dsql->GetArray ('ckall'))
{
$aid = $row ['id'] ;
//审核后增加积分
$dsql->ExecuteNoneQuery (" UPDATE `dede_member`
set scores=scores+ {$cfg_sendarc_scores} WHERE mid=
(select mid from `dede_arctiny` where id='$aid' ) ") ;
//审核后增加当月积分
$result = mysql_query (" UPDATE month_scores set
scores =scores + { $cfg_sendarc_scores} WHERE mid = ( select
mid from dede_arctiny where id='$aid' ) ") ;
1.2.2 当月排行显示
    原理与年度排行相似, 只是数据表换为“month_scores”即可。
1.2.3 数据的更新
    最近排行需要每月更新数据, 设定为每月一日将month_scores 表中的scores 字段清零, 之所以选择每月一日而不是月底, 好处是避免了大小月日期不同等多种情况的判断。
主要功能代码:
if ($today==1)
$result = mysql_query (" update month_scores set scores=0") ;

2 年度刊稿排行的图形化显示

    首先, 从会员表中将每个会员的积分数据提取出来, 存入数组$aa [ ] 中, 其主要功能代码如下:
$res = mysql_query (" select * from dede_member where
mid = '2' " , $dbh) ;
$row = mysql_fetch_array ($res) ;
$aa [1] =$row [" scores"] ;
…//之后类似,省略
    其次, 绘图函数FusionCharts.js 以数组$aa [ ] 的内容为纵轴, 各单位名称为横轴, 绘制刊稿数量的柱状图, 主要功能代码如下:
<script language=" javascript" type=" text/javascript"
src=" FusionCharts.js" ></script>
<DIV id =chartDiv1 style = " WIDTH: 900px; HEIGHT:
500px; BACKGROUND-COLOR: #ffffff" >
<SCRIPT language=JavaScript>
var xmlData = " <graph caption=' 截止+<?php echo $today ?>+
各单位累计刊稿数量统计' xAxisName=' ' yAxisName=' 更新条目' baseFontSize='12' decimals='2' showNames='1' decimal-
Precision='0' formatNumberScale='0' formatNumber='0'>" +
" <set name='' value='' color='' />" +
" <set name=' 一队' value ='" +<?php echo $aa
[1] ?>+" ' color='00FF00' />" +
…//之后类似,省略
" </graph>" ;
var myChart1 = new FusionCharts ( " Column3D.
swf" , " myChartId" , " 900" , " 500") ;
myChart1.setDataXML (xmlData) ;
myChart1.render (" chartDiv1") ;
</SCRIPT>

    文章说明:本站发布的所有文章,版权均属于智达维网络科技。如需转载、摘编或利用其它方式使用上述作品,请注明“转载自:智达维网络科技”或“转载自:智达维网络科技/网站建设相关文章”,谢谢您的浏览!

相关推荐
热线:0531-87583458 电话:0531-66812586 QQ:2676834962
Copyright 智达维网络科技 版权所有
ICP备案编号:鲁ICP备11034527号-1 鲁公网安备 37010402000703号

扫二维码加微信咨询

拨打客服热线

0531-87583458

在线客服