Получить текст True / False из выпадающего списка - PullRequest
0 голосов
/ 18 сентября 2018

Я пытаюсь создать выпадающее меню со списком названий городов. Для названий городов, где возвращаемое значение равно «true», я хочу, чтобы на той же странице отображался текст, говорящий о значении true. Если при выборе возвращается значение false, я хочу, чтобы оно отображалось также. Я работаю с формами действий и php, пытаясь функционировать и полностью потерял его. Это простая задача, которую я не могу за свою жизнь сообразить.

<select name="City">
<option value="Richmond">Richmond</option> //True//
<option value="Bowling Green">Bowling Green</option>//True
<option value="Manakin">Manakin</option>//false//
<option value="Emporia">Emporia</option>//false//
</select>
<input type="submit" name="submit" value="Get Selected Values" />
</form>
<?php
if(isset($_POST['submit'])){
$selected_val = $_POST['City'];  // Storing Selected Value In Variable
echo "You have selected :" .$selected_val; "and this location is Not served" 
// Displaying Selected Value
}
?>

</body>
</html>

1 Ответ

0 голосов
/ 18 сентября 2018

Я бы использовал массив, который содержит состояние значений, затем вы просто проверяете значение, которое будет определять состояние.

<?php
$citys = [
    'Richmond' => true, 
    'Bowling Green' => true, 
    'Manakin' => false, 
    'Emporia' => false
];
?>

<select name="City">
<?php foreach ($citys as $city => $avail): ?>
    <option value="<?= $city ?>"><?= $city ?></option>
<?php endforeach; ?>
</select>
<input type="submit" name="submit" value="Get Selected Values" />
</form>

<?php
if (isset($_POST['submit'])) {
    $selected_val = $_POST['City'] ?? '';  // Storing Selected Value In Variable

    if (isset($citys[$selected_val])) {
        echo "You have selected:".$selected_val." and this location is ".($citys[$selected_val] ? '' : 'Not').' served';
    } else {
        // error, city not in array
    }
}
?>
...