从动态下拉列表中打印选定的值php mysql

时间:2015-11-12 20:34:52

标签: php mysql

我有以下代码,我可以从mysql数据库中获取动态值到下拉列表,但是当我点击提交按钮时我无法打印所选值。 谁能帮助我?

<?php
include("includes/config.inc.php");
$query = "SELECT * FROM category";
$result = mysql_query ($query);
echo "<select class='turnintodropdown'  name='CategoryID' ><option value=''>All</option>";
while($r = mysql_fetch_array($result)) {
    echo "<option value=".$r['CategoryID'].">".$r['CategoryName']."</option>"; 
}
echo "</select>";
if (isset($_POST['submit'])) {
    $selected_val = $_POST['CategoryID'];  // Storing Selected Value In Variable
    echo "You have selected :" .$selected_val;  // Displaying Selected Value
}
?>  
<input type="submit" name="submit" value="Get Selected Values" />
</form>

2 个答案:

答案 0 :(得分:0)

如果要预先选择所选的值,则可以使用以下代码。另外检查你的表单方法attrivute以查看它是否设置为post(请注意,mysql_*函数已被弃用,最好使用预准备语句来使用PDO。)

while($r = mysql_fetch_array($result)) {
    if (!empty($_POST['CategoryID']) && $_POST['CategoryID'] == $r['CategoryID']) {
        $selected = 'selected="selected"';
    } else {
        $selected = '';
    }
    echo "<option ".$selected." value=".$r['CategoryID'].">".$r['CategoryName']."</option>"; 
}

答案 1 :(得分:0)

从上面

echo "you have selected :" . $selected_val;

根据您所回应的内容,根据我的内容[laining],它回显ID,而不是类别的名称。