首页 > 解决方案 > 为 db 中的每一行生成一个 case 开关

问题描述

我正在为我的数据库中不为空的每一行生成一个在 js 中切换的案例。对于每种情况,我都会生成一个新选项:

<script language="javascript" type="text/javascript">
function dropdownlist(listindex)
{
    document.formname.subcategory.options.length = 0;

    switch (listindex)
    {
        <?php $stmt = $conn->query("SELECT * FROM `filters` WHERE `primary_category` <> '' "); ?> 
        <?php while ($row = $stmt->fetch()) { ?>
          case "<?php echo $row['primary_category']; ?>" :
                <?php $stmt2 = $conn->query("SELECT * FROM `filters` WHERE `second_category` <> '' "); ?>
                <?php $i= 0; ?>
                <?php while ($row2 = $stmt2->fetch()) { ?>
                    <?php if($i === count($row2)) { ?>

                       break;

                    <?php } else { ?>
                        document.formname.subcategory.options[<?php echo $i;?>]=new Option("<?php echo $row2['second_category']; ?>","value1.1")
                        <?php $i++; ?>
                    <?php } ?>



                <?php }?>
            <?php  }?>

          default:
              document.formname.subcategory.options[0]=new Option("Select Category")
              break;
      }
      return true;
      }
</script>

由于某种原因,没有显示第二类,也许中断发生得很快。这是它的外观:

在此处输入图像描述

在我的数据库里面还有一个: 在此处输入图像描述

我究竟做错了什么?

编辑:整个目的是让用户可以选择为每个类别选择一个子可爱。

这些类别和子类别的 html 在这里:

<table width="50%" border="0" cellspacing="0" cellpadding="5">
    <tr>
        <td>Category:</td>
        <td width="59%" align="left" valign="middle"><select name="category" id="category" onchange="dropdownlist(this.options[this.selectedIndex].value);">

        <option class="hidden"  selected disabled value="">Select Category</option>
        <!-- Generate categories -->

        <?php $stmt = $conn->query("SELECT * FROM `filters` WHERE `primary_category` <> '' "); ?>
          <?php while ($row = $stmt->fetch()) { ?>
            <option class = "form-control" name ="primary_category"><?php echo $row['primary_category']; ?></option>
        <?php } ?>

        </td>
    </tr>
    <tr>
        <td >Sub Category:</td>
        <td align="left" valign="middle"><script type="text/javascript" language="JavaScript">
        document.write('<select name="subcategory"><option value="">Select Sub-Category</option></select>')
        </script>
        <noscript><select name="subcategory" id="subcategory" >
        <option class ="hiden" selected disabled value="">Select Sub-Category</option>
        </select>
        </noscript></td>
    </tr>
    </table>

标签: javascriptphpsql

解决方案


推荐阅读