下拉菜单中的动态值计数

时间:2016-01-16 18:37:32

标签: php jquery

我正在尝试创建一个下拉选择菜单,如下所示:

我有一个产品表,每个都有一个库存栏。假设一个产品的库存为54.我希望下拉菜单从选项1开始一直到选项54.

现在我有这个:

<?php
## Conection part 

$sql = "SELECT * FROM product";
$result = $conn->query($sql);

while ( $row = mysqli_fetch_assoc($result) ) {   ## 1 While loop 

?>
    <tr>
        <td><input type="checkbox" name="id[]" value="<?= $row['ProductID'] ?>" /></td> 
        <td><?php echo $row['ProductID']; ?></td>
        <td><?php echo utf8_encode($row['ProductName']); ?></td>
        <td><?php echo $row['SKU']; ?></td>
        <select>
          <option value="1">1</option>
        </select>
    </tr>
<?php  
  }
$conn->close();
echo "<br>";
?>

任何人都知道如何做到这一点?

谢谢你们!

2 个答案:

答案 0 :(得分:2)

使用范围来避免循环。

$stockValue=50;
echo "<select><option>".implode('</option><option>', range(1,$stockValue))."</option></select>";

答案 1 :(得分:1)

这是使用简单的for()循环完成的,您可以将max中的for($i=min;$i<=max;$i++)更改为max,即。 $row['stock']

<select>
  <?php for($i=1;$i<=$row['stock'];$i++){ ?>
    <option value="<?php echo $i; ?>"><?php echo $i; ?></option>
  <?php } ?>
</select>

另外,如果您希望在$row['stock'] 0时考虑,则可以显示out of stock消息 -

<?php if($row['stock'] > 0){ ?>
<select>
  <?php for($i=1;$i<=$row['stock'];$i++){ ?>
    <option value="<?php echo $i; ?>"><?php echo $i; ?></option>
  <?php } ?>
</select>
<?php } else { ?>
out of stock
<?php } ?>