Переменная доступа из заполненного раскрывающегося списка (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>

Это дает мне раскрывающийся список, в котором я могу выбрать данные из определенной таблицы.

Но у меня возникли проблемы с доступом к данным позже - например, так:

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

Он не принимает элемент списка, а вместо этого принимает строку «ярлык».

Как с этого момента использовать элементы списка в качестве переменных?


person Daniel    schedule 02.12.2016    source источник
comment
‹option value=\shortcut\› вы дали каждому параметру ярлык значения .... подумайте ,)   -  person donald123    schedule 02.12.2016
comment
Тег <select> вложен в тег <form>?   -  person WillardSolutions    schedule 02.12.2016
comment
Это form›table›select... Так что да, это   -  person Daniel    schedule 02.12.2016
comment
stackoverflow.com/a/10009791/5588347   -  person Ashish Srivastava    schedule 02.12.2016


Ответы (2)


Вам нужно установить значение 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>
person Raptor    schedule 02.12.2016

попробуйте заменить \" на '. Так должно работать

person Bolphgolph    schedule 02.12.2016