【发布时间】:2012-07-23 01:17:32
【问题描述】:
我正在尝试将插入 MySQL 表的最后一个条目的值增加 x%,然后将该值插入数据库并继续直到循环结束,从基值 100 开始。
假设我从第一行的 100 的 $base_value 开始,我想在迭代中将该值增加 25%。所以,在第二行,我希望 100 增加 25%。在第三行,第二行的值增加了 25% 等,当达到 100 时循环停止。如何做到这一点?
$base_value = 100;
$increase_by; // x percent
for($i = 1; $i = 100; $i++)
{
mysql_query("insert into table values(
'',
'$i',
''
)");
}
【问题讨论】:
-
首先,除非 PHP 做了一些奇怪的事情,否则你的
for循环条件似乎是错误的。第二个语句可能应该是$i <= 100,否则我认为循环根本不会运行,因为条件一开始会是假的。 -
您可以在纯 SQL 中执行此操作。只需执行
SELECT即可获取最后一行,检索您想要的值,计算 +25% (value/100*25),然后为您的INSERT使用新值。 -
@David - 它看起来更像infinite loop。
-
数据库中第一行的值为 100 ?还是 PHP 中的 $base_value 在您开始循环时设置为 100 ?
-
@David 这将是一个无限循环,因为它会反复将 $i 设置为 100。如果他写了
$i == 100,它确实永远不会运行。
标签: php mysql for-loop percentage