select项从数据库中递增

ktca8awb  于 2021-06-15  发布在  Mysql
关注(0)|答案(2)|浏览(286)

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

在数量选择列表下的下拉列表中,选项应按乘数递增,例如
项目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>

如果我没有从数据库返回表,这就是html代码的样子(http://www.techdesignlab.co.za/example.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>';

先谢谢你。

vddsk6oq

vddsk6oq1#

只需使用循环计数器乘以 $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>";
}
cmssoen2

cmssoen22#

从表中获取所有项,并执行下面的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 } ?>

相关问题