我有一个while循环在另一个while循环里面和另一个while循环里面。 这按类别和类别按组回应产品。简化的示例代码如下:
$a=0;
while(2 > $a) {
echo "<div><h3>Group</h3>";
$b=0;
while(5 > $b) {
echo "<label>Category</label>";
echo "<select name='productID_".$b."'>";
$c=0;
while(10 > $c) {
echo "<option>product</option>";
$c++;
}
echo "</select><br/>";
$b++;
}
echo "</div>";
$a++;
}
我需要的是选择名称在另一个组中继续,并且不再从0开始
例如,现在如果我有2个组,每个组有2个产品类别,那么在第一组中,选择名称将是productID_0
和productID_1
,但也在第二组中。我需要在第二步继续productID_2
和productID_3
。
怎么做?
答案 0 :(得分:1)
为HTML中的数字使用不同的变量,而不是用于循环控制:
$i = 0;
for ($a = 0; $a < 2; $a++) {
echo "<div><h3>Group</h3>";
for ($b = 0; $b < 5; $b++) {
echo "<label>Category</label>";
echo "<select name='productID_".$i."'>";
$i++;
for ($c = 0; $c < 10; $c++) {
echo "<option>product</option>";
}
echo "</select><br/>";
}
echo "</div>";
}
BTW,for
循环是这种循环更常用的习惯用法,因为它允许你在一个地方看到整个结构。
或者,您可以使用name='productID[]'
,而不是给它们不同的名称。提交表单后,$_POST['productID']
将包含所有值的数组。