我正在从MySQL数据库填充表单。表单的目的是创建一个“订购表单”。
数据库中的所有项目均显示正确,但是我的一个字段存在挑战。每个项目旁边都有一个数量可以订购的数量,数量为1或25。我需要创建一个下拉选择,将提供0、25、50、75、100等选项,或者1, 2、3、4、5等,具体取决于表格中的乘数列。
表结构如下:
Item Name | Multiplier | Price
Item 001 | 25 | 0.25
Item 002 | 1 | 1.50
Item 003 | 25 | 0.50
Item 004 | 1 | 2.25
Item 005 | 25 | 0.75
Item 006 | 25 | 0.50
在我的数量选择列表下的下拉列表中,选项应乘以乘数,例如
Item 001选项-
<select name="quantity">
<option value="25">25</option>
<option value="50>50</option>
<option value="75">75</option>
<option value="100">100</option>
<option value="125">125</option>
</select>
项目002选项-
<select name="quantity">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>
如果我没有从数据库中返回表(http://www.techdesignlab.co.za/example.html),则HTML代码将如下所示:
<table border = 1>
<tr>
<th>Item Name</th>
<th>Image</th>
<th>Quantity</th>
<th>Price</th>
</tr>
<tr>
<td>Item 001</td>
<td><img src=4521948.jpg height=50 align=center></img></td>
<td>
<select>
<option value="0">0</option>
<option value="25">25</option>
<option value="50">50</option>
<option value="75">75</option>
<option value="100">100</option>
</select>
</td>
<td>0.25</td>
</tr>
<tr>
<td>Item 002</td>
<td><img src=4211098.jpg height=50 align=center></img></td>
<td>
<select>
<option value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>
</td>
<td>1.50</td>
</tr>
<tr>
<td>Item 003</td>
<td><img src=pieces/300521.jpg height=50 align=center></img></td>
<td>
<select>
<option value="0">0</option>
<option value="25">25</option>
<option value="50">50</option>
<option value="75">75</option>
<option value="100">100</option>
</select>
</td>
<td>0.50</td>
</tr>
</table>
问题:如何获得乘数增加的期权价值? 尝试过:
$total=5000;
echo '<td><select>';
for ($i = 0; $i < $total; $i++) {
echo '<option value="'.$row['multiplier'].'">'.$row['multiplier'].'</option>';
}
echo '</select></td>';
提前谢谢您。
答案 0 :(得分:1)
只需使用循环计数器将$row['multiplier']
的值相乘即可:
$total = 5000;
echo '<td><select>';
for($i = 0; $i * $row['multiplier'] < $total; $i++) {
$value = $i * $row['multiplier'];
echo "<option value=\"$value\">$value</option>";
}
echo '</select></td>';
或者,您也可以将循环变量增加$row['multiplier']
:
for($i = 0; $i < $total; $i += $row['multiplier']) {
echo "<option value=\"$i\">$i</option>";
}
答案 1 :(得分:0)
从表中获取所有项目,然后执行如下所示的for循环
<?php
foreach ($items as $item) {
?>
<tr>
<td><?php echo $item->name ?></td>
<td><img src=4521948.jpg height=50 align=center></img></td>
<td>
<select>
<option value="0">0</option>
<option value="<?php echo ($item->multiplier * 1); ?>"><?php echo ($item->multiplier * 1); ?></option>
<option value="<?php echo ($item->multiplier * 2); ?>"><?php echo ($item->multiplier * 2); ?></option>
<option value="<?php echo ($item->multiplier * 3); ?>"><?php echo ($item->multiplier * 3); ?></option>
<option value="<?php echo ($item->multiplier * 4); ?>"><?php echo ($item->multiplier * 4); ?></option>
</select>
</td>
<td><?php echo $item->price ?></td>
</tr>
<?php } ?>