原帖由 pmume 于 2024-01-17 20:04:30 发表 看你代码,php语法有错误,应该这样:
// 在模板中显示 foreach($selected_articles as $bqr){ ?> <li><i>... |
谢谢,运行还是出错。
<?php $top_articles = [];
// 获取点击最多的50篇文章 $result = $empire->query("SELECT * FROM [!db.pre!]_ecms_article WHERE classid = 2 AND newstime>UNIX_TIMESTAMP()-86400*365 ORDER BY onclick DESC LIMIT 50"); // 遍历结果,选择每个作者点击数最多的文章,确保不同作者 while ($row = $empire->fetch($result)) { $writer = $row['writer']; if (!isset($top_articles[$writer]) || $row['onclick'] > $top_articles[$writer]['onclick']) { $top_articles[$writer] = $row; } }
// 按点击数降序排列 usort($top_articles, function ($a, $b) { return $b['onclick'] - $a['onclick']; });
// 选择前15篇文章 $selected_articles = array_slice($top_articles, 0, 15);
// 在模板中显示 foreach($selected_articles as $bqr){ ?> <li><a href="<?=$bqsr[classurl]?>"><font color="#701b04"><?=$bqr[writer]?></font></a> <a href="<?=$bqsr[titleurl]?>"><?=$bqsr[title]?><?=esub($bqr[title],68)?></a> <font color="#701b04"><?=$bqr[onclick]?></font></></li>
<?php } ?>
|