gpt4 book ai didi

php - 在 while 循环中添加 mysql_num_rows 总数

转载 作者:行者123 更新时间:2023-11-29 00:52:30 27 4
gpt4 key购买 nike

例如,我在另一个查询的 while 循环内的查询中有一个 mysql_num_rows 结果为 4,8,15,16,23,42。我的问题是如何计算 while 循环中的所有结果? (共 133 个)谢谢。

编辑:

如果我想在我的 while 循环中获取每个 mysql_num_rows 结果的百分比怎么办?示例:4、8、15、16、23、42。合计为108。$sum = 108。4的百分比= 4/$sum = 3.7%,8 = 8/$sum = 7.4%等等。

最佳答案

尝试这样的事情:

$Sum = 0;
while ($SomeInvariant)
{
mysql_query($SomeQuery);
$Sum += mysql_num_rows();
}

echo 'The sum is: ' . $Sum;

但是,这种方法不是很有效(如果 $SomeInvariant 在很多次迭代中都为真,并且您的应用程序有更多的并发用户怎么办?)。考虑到这一点,我建议重组您的方法,以便在 SQL 中完成添加。这样,您的查询可能看起来像这样:SELECT SUM(ColumnName) FROM ...

更新:解决评论中的后续问题

如果您还没有从查询中得到可用的总和,那么您将不得不遍历数据集两次。在第一遍中,您将计算总和。在第二遍中,您将计算每个值与总和的比率。

例如:

$Sum = 0;
$Rows = array();
while ($SomeInvariant)
{
mysql_query($SomeQuery);
$Value = mysql_num_rows();
$Rows[] = $Value; // Push the value onto the row array
$Sum += $Value; // Add the value to the cumulative sum
}

echo 'The sum is: ' . $Sum;

foreach ($Rows as $Row)
{
echo $Row . '/' . $Sum . ' = ' . number_format($Row / $Sum) . '%';
}

关于php - 在 while 循环中添加 mysql_num_rows 总数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7788910/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com