Php 如何从MySQL表中动态获取select标记的值

Php 如何从MySQL表中动态获取select标记的值,php,html,mysql,Php,Html,Mysql,感谢您的来访,如果这个问题看起来很简单,我很抱歉,因为我对php有点陌生。我想做一个学校项目,现在的问题是我似乎无法得到下拉列表的值。我一直在尝试搜索每个论坛和这里的一些类似问题,但它们似乎只显示了如何用数据库值填充下拉列表 填充下拉菜单的代码正在运行,但记录所选值对我不起作用 以下是我的下拉列表php代码: <div class="panel"> <label class="panelname">Category:</label> <s

感谢您的来访,如果这个问题看起来很简单,我很抱歉,因为我对php有点陌生。我想做一个学校项目,现在的问题是我似乎无法得到下拉列表的值。我一直在尝试搜索每个论坛和这里的一些类似问题,但它们似乎只显示了如何用数据库值填充下拉列表

填充下拉菜单的代码正在运行,但记录所选值对我不起作用

以下是我的下拉列表php代码:

<div class="panel">
    <label class="panelname">Category:</label>
    <select name="category" class="signup_field">
        <option>Select One</option>
        <? // retrieve all the categories and add to the pull down menu
        $query = 'SELECT category_id, name FROM category ORDER BY name ASC';
        $request = mysqli_query($dbc, $query);
        while ($row = mysqli_fetch_array($request, MYSQLI_NUM)) {
            $cat_id = $row[0];
            echo "<option value=\"row[0]\"";
            //check for stickyness:
            if (isset($_POST['category']) && ($_POST['category'] == $row[0])) {
                echo ' selected="selected"';
                //$_POST[]
            } echo ">$row[1]</option>\n";
        }
        ?>
    </select>
    <? if (array_key_exists('category', $add_product_errors)) echo '<label class="error">' . $add_product_errors['category'] . '</label>'; ?>
</div>
我不知道问题出在哪里,但是$_POST['category']中没有记录任何值,我无法保存到MySQL中,并且我一直收到“请选择一个类别”错误


谢谢大家的帮助。:)

您的问题似乎是
echo”谢谢,我似乎已经解决了这个问题

我似乎删除了[0]行中的($)行,以便正确读取。 只需在行[0]上放置$:

echo "<option value=\"row[0]\"";

echo”我曾经解决过这个问题,比如。。。就你而言

while ($row = mysqli_fetch_array($request, MYSQLI_NUM)) {
        $cat_id = $row[0];
        $str = null;
        if (isset($_POST['category']) && ($_POST['category'] == $row[0])) {
                $str = 'selected="selected"';
        }
        echo '<option value="'.$row[0].'" '.$str.'>'.$row[1].'</option>';
    }   
while($row=mysqli\u fetch\u数组($request,mysqli\u NUM)){
$cat_id=$row[0];
$str=null;
如果(isset($_POST['category'])&&($_POST['category']==$row[0])){
$str='selected=“selected”';
}
回显“.$row[1]”;
}   
echo "<option value=\"row[0]\"";
while ($row = mysqli_fetch_array($request, MYSQLI_NUM)) {
        $cat_id = $row[0];
        $str = null;
        if (isset($_POST['category']) && ($_POST['category'] == $row[0])) {
                $str = 'selected="selected"';
        }
        echo '<option value="'.$row[0].'" '.$str.'>'.$row[1].'</option>';
    }