【问题标题】:PHP echo enum type from database来自数据库的 PHP 回显枚举类型
【发布时间】:2019-03-20 23:12:42
【问题描述】:

我目前正在开发一个网站,用户在该网站上填写表格以上传他们希望出售的商品。

表单这一部分的代码如下所示:

    <?php
    while($row=$result->fetch_assoc()){
    $cat = $row["category"];

    }
    ?>
 <div class="col m6">
  <label for="Input">Item Catagory</label>
  <select class="_width100" id="Input">
    <option value="Option 1"> </option>
    <option value="Option 2"> </option>
    <option value="Option 3"> </option>
  </select>
 </div>

我希望在我的 php 数据库中回显每个枚举选项(见下图),作为用户从表单中选择的选项。任何有关如何执行此操作的建议将不胜感激。

Database table row name: Category type: Enum

【问题讨论】:

    标签: php database enums echo


    【解决方案1】:

    我想做这样的事情:

    <div class="col m6">
        <label for="Input">Item Catagory</label>
        <select class="_width100" id="Input" name="some_name">
            <?php while($row = $result->fetch_assoc()): ?>
                <?php
                    $cat = $row["category"];
                    $id = $row["id"];
                ?>
                <option value="<?= $id ?>"><?= $cat ?></option>
            <?php endwhile; ?>
        </select>
    </div>
    

    【讨论】:

      【解决方案2】:

      您应该规范化您的表结构。存储在 ENUM 数据类型中的所有值都应存储在单个数据库表中。让我们将此表称为类别。该表有两列。一个自增列作为 id 和 value 本身,它应该是一个唯一的列,以便每个类别只存储一次。实际上,您已经存在的列类别应该是一个整数列,作为其他数据表的 id 列的外键。这种结构是所谓的 1:n 关系。一个类别可用于另一个表中的 n 个条目。

      下一个优点是,您可以列出类别表中的所有唯一项目。 ;)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-02-21
        • 1970-01-01
        • 2012-04-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多