选择项目从数据库中递增

时间:2019-01-07 09:17:04

标签: php mysql forms

我正在从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>';

提前谢谢您。

2 个答案:

答案 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 } ?>