Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP选项标记和数组_Php_Html_Arrays_Select_Option - Fatal编程技术网

PHP选项标记和数组

PHP选项标记和数组,php,html,arrays,select,option,Php,Html,Arrays,Select,Option,只是在做一个小的大学项目,开发一个电子商务网站。我已经被提供了一些代码,我正在根据我的需要修改它 我目前在让一些数组在选项和选择标记中工作时遇到问题。不同之处在于,这些数组中的每一个都有一个与之关联的操作,例如,移动到另一个页面 问题似乎是此操作未在选项标记中使用。如图所示 以下是编辑前的原始代码: <body> <div id="wrapper"> <div id="header"> <p><a href="index.php"&g

只是在做一个小的大学项目,开发一个电子商务网站。我已经被提供了一些代码,我正在根据我的需要修改它

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

问题似乎是此操作未在选项标记中使用。如图所示

以下是编辑前的原始代码:

<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 -->

|浏览:
这是我编辑的代码(不起作用)


|浏览:

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

<select onchange="window.location = this.value;">

尝试将while循环切换到以下位置:

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

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

        }
while($row=$result->fetch_row()){
回显“$行[1]”;
//显示类别
}
看看这是否有效


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

之前有一个无关的
。即使这只是一个大学项目,也要小心sql注入。使用参数化程序。我刚刚运行了这个,得到了您所有产品的列表
http://mkiddr.com/phptests/shopping/category.php?id=1 或1=1
。我可以很容易地运行这样的
http://mkiddr.com/phptests/shopping/category.php?id=1;删除表ProductCategories--   while ($row = $result->fetch_row()) {

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

        }