在表单提交后保留选定的选项

时间:2015-11-10 22:35:43

标签: php mysql forms

我有这个PHP代码,它显示了一系列mysql行作为表单中下拉菜单的选项

$sql2="SELECT DISTINCT nombre FROM series where premium='0'";
$resultado = $conn->query($sql2);
<form  action="series.php" method="GET">
<select id="prueba "name="serie"><?php
if ($resultado->num_rows > 0) {

    while($row = $resultado->fetch_assoc()) {

        echo  $row["nombre"]; 
        echo '<option value="'.$row["nombre"].'">'.$row["nombre"].'</option>';
    }
} else {
    echo "0 results";
}
?>

我想要的是当用户提交表单时,$ row [“nombre”]被选中 if(isset $ _GET [“serie”]))'。$ row [“nombre”]。';; 这样的事情,你会怎么做?

2 个答案:

答案 0 :(得分:2)

您可以使用所选属性执行此操作:

$sql2="SELECT DISTINCT nombre FROM series where premium='0'";
$resultado = $conn->query($sql2);
<form  action="series.php" method="GET">
<select id="prueba "name="serie"><?php
if ($resultado->num_rows > 0) {

    while($row = $resultado->fetch_assoc()) {

        echo  $row["nombre"]; 
        echo '<option value="'.$row["nombre"].'"';
        echo (isset($_GET["serie"]) && $_GET['serie'] == $row["nombre"]) ? " selected" : "";
        echo '>'.$row["nombre"].'</option>';
    }
} else {
    echo "0 results";
}
?>

根据你的问题我实际上不确定你的情况是什么,但我希望你明白这一点。

答案 1 :(得分:1)

您可以使用它来选择发布的值:

while($row = $resultado->fetch_assoc()) {
    if (!empty($_GET['serie']) && $row['nombre'] == $_GET['serie']) {
        $selected = 'selected="selected"';
    } else {
        $selected = '';
    }
    echo '<option '.$selected.' value="'.$row["nombre"].'">'.$row["nombre"].'</option>';
}