php - For 循环,递增并插入前一行的值

标签 php mysql for-loop percentage

我试图将插入 MySQL 表的最后一个条目的值增加 x%,然后将该值插入数据库并继续,直到循环结束,从基值 100 开始。

假设我从第一行的 $base_value 为 100 开始,我希望在一次迭代中将该值增加 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',
       ''
    )");
}

最佳答案

类似这样的吗?:

$base_value = 100;
$increase_by; // x percent

for($i = 1; $i <= 100; $i++)
{
    mysqli_query("insert into table values(
       '$base_value',
       '$i',
       ''
    )");
    $base_value = $base_value + ($base_value * $increase_by);
}

需要注意的几点:

  • 我已替换 mysql_querymysqli_query ,我建议你也这样做。 PHP also suggests this .
  • 我更改了您的 for 中的终止条件从$i = 100循环至$i <= 100 。如果前者真的有效,我不确定行为会是什么。这是设置 $i在条件句中,这首先是你永远不想做的事情。但这也意味着它要么永远不会运行,要么无限期地运行,具体取决于它如何将赋值语句解释为 bool 值。这两种选择都不理想。
  • 此数学假设 $increase_by是正确的小数位。相反,如果您用实际值“25”来表示“25%”的概念,那么您必须调整数学以解决这种差异。
  • SQL 查询本身没有受到任何影响,因为我认为这是一个人为的示例。但为了以防万一,值得指出的是,您有第三个不必要的值,并且您的表名为 table ,这可能是个坏主意:)

关于php - For 循环,递增并插入前一行的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11605383/

相关文章:

MySQL:如果存在则获取 ID,否则插入并返回 ID

batch-file - 如何缩短批处理文件中文本文件的文件路径输出

Java - 根据条件将 for 循环计数器转回原处

php - 将 twig 中的代码从 PHP 转换为

php - 如何更改 Kohana 3 中使用的默认数据库?

php - 一个查询中的多个 Mysql 更新

mysql - MySQL Workbench 6.1.7 中未出现执行计划选项卡

带有for循环的Python双重打印

PHP Laravel 使用两个表进行多文件上传

php - 链接 MySQL 数据库