从填充的下拉列表访问变量 select (PHP)

Access variable from populated dropdown select (PHP)

<select name="shortcut">
<?php
$sql= "SELECT * FROM subject WHERE id_ped = $id_ped";
$vysledek0 = mysqli_query($con, $sql);
$count0 = mysqli_num_rows($vysledek0);
   for($i=0;$i<$count0;$i++){
$row= mysqli_fetch_row($vysledek0);
echo "<option value=\"shortcut\">" . $row[1] . "</option>";"<br>";
   }
?>
</select>

这给了我下拉列表,我可以在其中 select 来自某些 table 的数据。

但我以后访问数据时遇到问题 - 例如:

<?php   $shortcut = $_POST['shortcut'];
                    echo $shortcut;
?>

它不接受列表项,而是接受字符串“快捷方式”。

如何使用列表项作为此时的变量?

您需要设置 option 的值才能发布:

<select name="shortcut">
<?php
$sql= "SELECT * FROM subject WHERE id_ped = $id_ped";
$vysledek0 = mysqli_query($con, $sql);
$count0 = mysqli_num_rows($vysledek0);
   for($i=0;$i<$count0;$i++){
$row= mysqli_fetch_row($vysledek0);
echo "<option value='" . $row[1] . "'>" . $row[1] . "</option>";"<br>";
   }
?>
</select>

然后在服务器端:

<?php   
    $shortcut = $_POST['shortcut'];
    echo $shortcut;
?>

不过我个人更喜欢用下面的风格来编写上面的代码。以防万一你喜欢:

<?php
    $sql= "SELECT * FROM subject WHERE id_ped = $id_ped";
    $vysledek0 = mysqli_query($con, $sql);
    $count0 = mysqli_num_rows($vysledek0);
    $items = array();

    for($i=0; $i<$count0; $i++) {
        $row = mysqli_fetch_row($vysledek0);
        array_push($items, $row[1]);
    }
?>

<select name="shortcut">
<?php foreach($items as $value): ?>
    <option value="<?php echo $value ?>"><?php echo $value ?></option>
    <br>
<?php endforeach ?>
</select>

尝试将 \" 替换为 '。它应该这样工作