这是关于mysql_num_rows命令的问题。基本上我想问的是,是否可以对结果进行汇总并按降序排序。
$fetchrank = mysql_query("SELECT * FROM leden WHERE level = 6 OR level = 106");
while ($getrank = mysql_fetch_array($fetchrank, MYSQL_ASSOC)) {
$getranked = mysql_query("SELECT nieuws_id FROM nieuws_berichten WHERE member_id='".$getrank['member_id']."'");
$critical = mysql_num_rows($getranked);
$posts = $critical;
echo"".stripslashes(substr($getrank['gebruikersnaam'],0,25))." has ".$posts." posts!";
}
echo"</div>";
}
这实际上显示了我想要的,但我希望它现在对num_rows结果进行排序,从最高到最低。通过数组可以吗?所以我可以使用 PHP 命令还是有其他方法?
我知道mysql_num_rows已经过时了,但是目前我将使用这个旧框架,也许在不久的将来我们会改用另一个框架。
如果我理解正确,你实际上想做什么,你可以做:
$fetchrank = mysql_query("SELECT * FROM leden WHERE level = 6 OR level = 106");
$totalposts = 0;
$getranks = mysql_fetch_array($fetchrank, MYSQL_ASSOC);
$getranks = rsort($getranks);
foreach ($getranks as $getrank) {
$getranked = mysql_query("SELECT nieuws_id FROM nieuws_berichten WHERE member_id='".$getrank['member_id']."'");
$critical = mysql_num_rows($getranked);
$posts = $critical;
$totalpostst = += $posts;
echo"".stripslashes(substr($getrank['gebruikersnaam'],0,25))." has ".$posts." posts!";
}
echo $totalposts;
echo"</div>";
以获取检索的帖子总数。要对它们进行排序,您必须使用 asort 或 rsort 对数组进行排序(取决于方向)。有关此内容,请参见手册页。排序将应用于数组。所以我相应地更改了代码。适应
$getranks = rstort($getranks);
根据您的需要基于手册。您可以使用以下命令查看阵列内容
echo'<pre>';
print_r($getranks);
echo '</pre>';
以查看阵列内部发生了哪些变化。