作品得票情况用户投票情况顺便附上统计页面的源代码:
<?php
$开始时间 = microtime(true);
$作品列表 = [
['@小男生', '18idc论坛程序', 'http://q18idc.com', 'http://q18idc.com/1.7.1/update.zip'],
['@读书顶个鸟用', '域名转发', 'http://11051.izw.me/', 'http://forward.ll00.cn/joke.zip'],
['@无道', '无道笑话', 'http://jokei.aliapp.com/m', '/wap/read.php?id=bbs_tz&tzid=73250'],
['@雨伤', '酷我直链', 'http://www.yswll.top', '/wap/read.php?id=bbs_tz&tzid=73536'],
['@net909', '网盘搜索引擎', 'http://51tool.aliapp.com/so/', '/wap/read.php?id=bbs_tz&tzid=73715'],
['@Tune', 'tune导航', 'http://dhdh.f.zuoquu.com/', '/wap/read.php?id=bbs_tz&tzid=73279'],
['@CFUNC0', 'oui查询', 'http://a369.ml/oui/index.php', '/wap/read.php?id=bbs_tz&tzid=73732'],
['@000', 'PHP漫画阅读工具', 'http://torn.sturgeon.mopaas.com/', '/wap/read.php?id=bbs_tz&tzid=73558'],
['@myzly', '域名分发', 'http://getsld.sinaapp.com', '/wap/read.php?id=bbs_tz&tzid=69031&bkid=27'],
['@想爱就爱', '手机网游', 'http://183c8413902.mg2.125idc.net/', 'http://183c8413902.mg2.125idc.net/jbjh.zip'],
['@颜兮', '短信轰炸', 'http://19726.izw.me/', 'http://19726.izw.me/hz.zip'],
['@0xAINI', '网游:海上联盟', 'http://g2.wap.sg', null],
['@永远的布衣', '在线模拟GET/POST工具', 'http://commoner.cn/tool/Http', 'http://commoner.cn/content/uploadfile/201507/a4741436752787.zip'],
['@冰云', '冰云网盘', 'http://sstor.ml/', '/wap/read.php?id=bbs_tz&tzid=74554&bkid=27'],
['@strwei', 'strweibbs', 'http://php.gsdc.cc', '/wap/read.php?id=bbs_tz&tzid=73903'],
['@好男人', '说说程序', 'http://hu60.host.jhlx.cc/', '/wap/read.php?id=bbs_tz&tzid=74664&bkid=27'],
['@sunny', 'SAE文件快速上传(支持对外API)', 'http://iyang.sinaapp.com/', 'http://123zr-download.stor.sinaapp.com/20150727/file.zip'],
['@晨梦', '唯爱时光', 'http://cxzm.18idc.ml', 'http://cxzm.18idc.ml/jnrj.zip'],
['@小杨', '杨的博客', 'http://2.wechatwc.sinaapp.com/index.php', 'http://123zr-download.stor.sinaapp.com/20150801/yang.zip'],
];
$选票列表 = <<<'NOWDOC'
影墨留香:@晨梦,@sunny,@0xAINI,@net909
会游泳的老虎:@读书顶个鸟用
雨伤:@Tune,@net909,@myzly,@无道
卖萌的小狐狸:@雨伤,@0xAINI
飞炫的火花:@0xAINI
柳贱:@雨伤
魏子尚:@小男生,@雨伤
会游泳的老虎:@读书顶个鸟用
CA迷漫:@000,@小男生,@无道,@net909
亮亮:@无道
未授权运作:@无道
高手在田间:@雨伤,@无道,@000,@net909
hu60user:@net909,@永远的布衣,@sunny,@冰云
carey:@冰云,@myzly,@net909
danran:@myzly,@net909
kois:@小男生
未授权运作:@小男生
怒放家族de霖:@小男生,@net909,@雨伤,@sunny,@000,@无道
Jimi:@myzly,@无道,@永远的布衣
高中僧:@小男生
色丶是种态度:@小男生
水月:@小男生,@net909,@无道
鬼歌:@小男生
苏城:@小男生,@读书顶个鸟用,@000
大梦:@晨梦
花祭:@雨伤
无影线:@小男生
云端主机:@net909
yun:@读书顶个鸟用,@sunny,@CFUNC0,@无道,@雨伤
反清富明:@冰云,@小男生
萝莉控De团长:@000
柳贱:@小男生
高手在田间:@小男生,@sunny
鲸:@小男生,@读书顶个鸟用,@net909,@myzly
色丶是种态度:@net909
李广小虾:@无道,@0xAINI,@想爱就爱
Flicker:@小男生,@读书顶个鸟用,@雨伤,@net909,@冰云,@sunny
反清富明:@读书顶个鸟用,@net909,@雨伤
下页哥:@小男生
CA迷漫:@myzly,@永远的布衣
小园:@net909,@000
刘付杰:@小男生
罐子:@读书顶个鸟用,@小男生,@myzly,@net909
流者:@sunny
童哥出品:@Tune
姜辰:@sunny,@无道,@小男生,@冰云,@0xAINI,@读书顶个鸟用
文圣:@net909,@000,@小男生,@无道
半颗糖cn:@000,@net909,@雨伤,@无道,@小男生,@颜兮
基层百姓:@读书顶个鸟用,@000,@myzly,@颜兮,@冰云,@永远的布衣
未授权运作:@strwei
情醉中国风:@小男生,@雨伤,@net909,@无道,@myzly,@读书顶个鸟用
天幕无明:@小男生,@net909,@冰云,@永远的布衣,@000,@Tune
net909:@net909,@无道,@myzly,@冰云
无道:@net909,@无道,@小男生,@sunny
18200409389:@雨伤,@net909,@冰云,@sunny,@晨梦
18200409389:@myzly
sunny:@小男生,@无道,@net909,@myzly,@永远的布衣,@sunny
myzly:@小男生,@net909,@myzly,@sunny
Fades:@小男生,@冰云,@雨伤,@myzly,@永远的布衣
分享达人:@雨伤
姬长信:@小男生,@读书顶个鸟用,@net909
test:@读书顶个鸟用,@net909
NOWDOC;
$表格样式 = <<<'NOWDOC'
<style type="text/css">
table.altrowstable {
font-family: verdana,arial,sans-serif;
font-size:11px;
color:#333333;
border-width: 1px;
border-color: #a9c6c9;
border-collapse: collapse;
}
table.altrowstable th {
border-width: 1px;
padding: 8px;
border-style: solid;
border-color: #a9c6c9;
}
table.altrowstable td {
border-width: 1px;
padding: 8px;
border-style: solid;
border-color: #a9c6c9;
}
.oddrowcolor{
background-color:#d4e3e5;
}
.evenrowcolor{
background-color:#c3dde0;
}
</style>
NOWDOC;
$作者列表 = [];
foreach ($作品列表 as $作品) {
$作者列表[$作品[0]] = ['作品名称'=>$作品[1], '演示地址'=>$作品[2], '下载地址'=>$作品[3], '得票数'=>0];
}
$选票列表 = preg_replace('/[\r\n]+/s', "\n", $选票列表);
$选票列表 = explode("\n", $选票列表);
$投票者列表 = [];
$得票详情 = [];
$总票数 = 0;
foreach ($选票列表 as $选票行) {
$选票行 = explode(':', $选票行);
$投票者 = $选票行[0];
$被选者列表 = explode(',', $选票行[1]);
if (!isset($投票者列表[$投票者])) {
$投票者列表[$投票者] = [];
}
$选票 = & $投票者列表[$投票者];
foreach ($被选者列表 as $被选者) {
if (!in_array($被选者, $选票)) {
if (count($选票) < 6) {
$选票[] = $被选者;
$作者列表[$被选者]['得票数'] ++;
$总票数 ++;
$得票详情[$被选者][] = $投票者;
}
}
}
}
$导航栏 = <<<'NOWDOC'
[hr]
[read=count&page=works]作品列表[/read] -
[read=count&page=tickets]选票列表[/read] -
[url=/wap/]首页[/url]
[hr]
NOWDOC;
function 得票详情($作者, $显示文字=NULL) {
if ($显示文字 === NULL) {
$显示文字 = $作者;
}
return '<a href="read.php?id=count&page=detal&auth='.urlencode($作者).'">'.htmlspecialchars($显示文字).'</a>';
}
function 用户链接($用户名, $显示文字=NULL) {
if ($显示文字 === NULL) {
$显示文字 = $用户名;
}
if ($用户名[0] == '@') {
$用户名 = substr($用户名, 1);
}
return '<a href="/wap/0wap/m.php/msg.send.xhtml?toname='.urlencode($用户名).'">'.htmlspecialchars($显示文字).'</a>';
}
$page = $_GET['page'];
switch ($page) {
//作品列表
case 'works':
case '':
default:
?>
[html=作品列表]
<?php
echo $表格样式;
echo $导航栏;
echo '共有'.count($作者列表).'个参赛作品';
?>
<table class="altrowstable" id="alternatecolor">
<tr class="evenrowcolor"><th>作者</th><th>作品</th><th>下载地址</th><th>票数</th><th>得票率</th></tr>
<?php
$作者排序 = [];
foreach ($作者列表 as $作者=>$作品) {
$作者排序[$作者] = $作品['得票数'];
}
arsort($作者排序);
$i = 0;
foreach ($作者排序 as $作者=>$得票数) {
$作品 = $作者列表[$作者];
echo '<tr class="'.($i++%2 ? 'evenrowcolor' : 'oddrowcolor').'">';
echo '<td>'.用户链接($作者).'</td>';
echo '<td><a href="'.htmlspecialchars($作品['演示地址']).'">'.$作品['作品名称'].'</a></td>';
$得票数 = (int) $作品['得票数'];
if ($作品['下载地址'] !== NULL) {
echo '<td><a href="'.htmlspecialchars($作品['下载地址']).'">点击下载</a></td>';
echo '<td>'.得票详情($作者, $得票数).'</td>';
} else {
echo '<td>无</td>';
echo '<td><span style="color:red">'.$得票数.'×0.5</span>='.得票详情($作者, round($得票数 * 0.5)).'</td>';
}
echo '<td>'.round($得票数 * 100 / $总票数).'%</td>';
echo '</tr>';
}
?>
</table>
<?php
break;
//选票列表
case 'tickets':
?>
[html=选票列表]
<?php
echo $表格样式;
echo $导航栏;
echo '共有'.count($投票者列表).'名用户投出了'.(int)$总票数.'张有效选票';
?>
<table class="altrowstable" id="alternatecolor">
<tr class="evenrowcolor"><th>投票者</th><th>甲</th><th>乙</th><th>丙</th><th>丁</th><th>戊</th><th>己</th></tr>
<?php
$i = 0;
foreach ($投票者列表 as $投票者=>$选票) {
echo '<tr class="'.($i++%2 ? 'evenrowcolor' : 'oddrowcolor').'">';
echo '<th>'.用户链接($投票者).'</th>';
for ($j=0; $j<6; $j++) {
echo '<td>';
if (isset($选票[$j])) {
echo 得票详情($选票[$j]);
}
echo '</td>';
}
echo '</tr>';
}
echo '</table>';
break;
//得票详情
case 'detal':
?>
[html=得票详情]
<?php
$作者 = $_GET['auth'];
$作品 = $作者列表[$作者];
echo $表格样式;
echo $导航栏;
?>
<table class="altrowstable" id="alternatecolor">
<tr class="evenrowcolor">
<th>作者</th>
<td><?=用户链接($作者)?></td>
</tr>
<tr class="oddrowcolor">
<th>作品</th>
<td><a href="<?=htmlspecialchars($作品['演示地址'])?>"><?=htmlspecialchars($作品['作品名称'])?></a></td>
</tr>
<?php
if ($作品['下载地址'] !== null) {
?>
<tr class="evenrowcolor">
<th>下载地址</th>
<td><a href="<?=htmlspecialchars($作品['下载地址'])?>">点击下载</a></td>
</tr>
<tr class="oddrowcolor">
<th>得票数</th>
<td><?=(int)$作品['得票数']?></td>
</tr>
<?php
} else {
?>
<tr class="evenrowcolor">
<th>下载地址</th>
<td>无</td>
</tr>
<tr class="oddrowcolor">
<th>得票数</th>
<td><span style="color:red"><?=(int)$作品['得票数']?>×0.5</span>=<?=round($作品['得票数']*0.5)?></td>
</tr>
<?php
}
$i = 0;
foreach ($得票详情[$作者] as $投票者) {
echo '<tr class="'.($i++%2 ? 'oddrowcolor' : 'evenrowcolor').'">';
echo '<td>投票者'.($i).'</td>';
echo '<td>'.用户链接($投票者).'</td>';
echo '</tr>';
}
echo '</table>';
break;
}
$结束时间 = microtime(true);
$时间差 = $结束时间 - $开始时间;
echo '[hr]用时:'.round($时间差, 4).'秒';
?>
[br][url=/wap/]返回首页[/url]
[/html]
帮忙改下下载链接@姜辰
http://forward.ll00.cn/forward_V1_0_2.zip