繁体   English   中英

mysql_num_rows结果顺序

[英]mysql_num_rows result order

这是关于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>';

看看阵列内部发生了什么变化。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM