0

只是在做一个小型的大学项目来开发一个电子商务网站。我已经获得了一些代码,我正在根据自己的需要进行更改。

我目前在让一些数组在选项和选择标签中工作时遇到问题。不同之处在于这些数组中的每一个都有一个与之相关的动作,例如,移动到另一个页面。

问题似乎是选项标签中没有使用此操作。如此处可见http://mkiddr.com/phptests/shopping/

这是我在编辑之前的原始代码:

<body>
<div id="wrapper">
<div id="header">
    <p><a href="index.php">Home</a> | Browse:
    <?php
        $q="SELECT c_id, c_name FROM sc_cat";
        $result = mysqli_query($_SESSION['conn'],$q);
        while ($row = mysqli_fetch_row($result)){
            echo "<a href='category.php?id=$row[0]'>$row[1]</a> ";
        }
        unset($q); //unset query variable
        mysqli_free_result($result); //free result
        ?>
</div>
<div id="content"><!-- note this is an opening tag -->

这是我编辑的代码(不起作用)

<body>
<div id="wrapper">
<div id="header">
    <p><a href="index.php">Home</a> | Browse:

    <select>
    <?php
        $q="SELECT CategoryID, CategoryName FROM ProductCategories";
        $result = mysqli_query($_SESSION['conn'],$q);
        while ($row = mysqli_fetch_row($result)){

            echo "<option value='category.php?id=".$row[0]."'>".$row[1]."</a></option>";
            //display categories

            }
        unset($q); //unset query variable
        mysqli_free_result($result); //free result
    ?>
    </select>

</div>
<div id="content"><!-- note this is an opening tag -->

如果有人能帮我们解决这个问题,我将不胜感激!

4

2 回答 2

0

问题是选项标签没有要执行的“动作”。您必须使用 javascript 将用户重定向到所选选项。将 SELECT 标记更改为

<select onchange="window.location = this.value;">
于 2013-03-06T13:25:18.633 回答
-1

尝试将您的 while 循环替换为以下内容:

   while ($row = $result->fetch_row()) {

        echo "<option value='category.php?id=".$row[0]."'>".$row[1]."</a></option>";
        //display categories

        }

看看这是否应该工作

正如@Stormherz 提到的那样,要在选择时自动加载,您需要将 onclick 方法放置在 select 标签上的选项中;

于 2013-03-06T13:25:41.970 回答