如何使用循环填充输入类型?

时间:2018-10-11 17:37:21

标签: php

我有一个数组itemQuantities。看起来像:

while ($data = $result->fetch_assoc()){       
    $tbl .= "<div class=\"col-lg-4 col-lg-offset-4\">
                  <input class=\"form-control\" type=\"number\" min = \"0\" max = \"20\" value=\"$value\" id=\"num\" name=\"num[]\" required>
             </div>
}

如何使用从数组中获取的默认值填充此输入类?

simple_form

我不确定如何处理2个循环。我不断得到 666 作为我的值的默认输入,而我希望 600 作为期望的结果。

编辑:使用计数器来解决我的问题。不知道为什么这会给我带来很多麻烦。

2 个答案:

答案 0 :(得分:1)

您的意思是这样的吗?从您的问题中尚不清楚您想要实现什么。

foreach($_SESSION['itemQuantities'] as $key => $val) {
    $value .= $val;   // concatenate the values into a string
}

while ($data = $result->fetch_assoc()){       
    $tbl .= "<div class='col-lg-4 col-lg-offset-4'>
              <input class='form-control' type='number' min='0' max='20' value='$value' id='num' name='num[]' required>
}
  

您将值600放入具有min="0" max="20"属性设置为使该数字非法的字段中

答案 1 :(得分:0)

我在这里猜测,您真正想要的是显示与查询返回的输入一样多的输入,并带有会话数组中的默认值。您根本不需要两个循环。

$idx = 0;
while ($data = $result->fetch_assoc()) {
    $value = $_SESSION['itemQuantities'][$idx] ?? 0;
    $tbl .= "<div class='col-lg-4 col-lg-offset-4'>
              <input class='form-control' type='number' min='0' max='20' value='$value' id='num' name='num[]' required>";
    $idx++;
}