Установите флажок, показывающий значение в дБ, не разрешающее обновление - PullRequest
0 голосов
/ 18 января 2019

Этот код, наконец, сработал для отображения предыдущего выбора $ MedIDinDB в поле выбора на основе таблицы поиска по желанию, но он не позволит новому выбору изменить выбранное значение элемента управления для публикации обновления по мере необходимости. Как мне сделать оба?

<select name="MedSelect" value="<?php 

$sql = "SELECT MedID, MedName FROM Meds ORDER BY Rank ASC";
$query = $pdo->prepare($sql);
$query->execute();
if($query) {
    $row = $query->fetchAll(PDO::FETCH_ASSOC);
    foreach($row as $value){ ?>
        <option value="<?php echo $value['MedID']; ?>"<?php if ($value['MedID'] == $MedIDinDB) echo ' selected="selected"'; ?>><?php echo $value['MedName']; ?> 
        </option>
<?php }} ?>

</select>

Ответы [ 2 ]

0 голосов
/ 18 января 2019

Поскольку @ imvain2 говорит, что выглядит неправильно отформатированным. Я вижу, что ответ был предоставлен, поэтому я не буду объяснять снова, но подумал, что поделюсь примером того, как вы можете лучше форматировать спагетти HTML / PHP.

<?php
$sql = "SELECT MedID, MedName FROM Meds ORDER BY Rank ASC";
$query = $pdo->prepare($sql);
$query->execute();
$rows = $query->fetchAll(PDO::FETCH_ASSOC);
?>
<select name="MedSelect">
    <?php if(!empty($rows)): ?>
        <?php foreach($row as $value): ?>        
            <option value="<?= $value['MedID'] ?>" <?= ($value['MedID'] == $MedIDinDB) ? 'selected="selected"' : ''?>><?= $value['MedName'] ?></option>
        <?php endforeach; ?>
    <?php endif; ?>
</select>
0 голосов
/ 18 января 2019

Выбор в HTML не имеет атрибута value=.
Вы можете сохранить свой код чище, объединяя вместо экранирования код PHP:

<select name="MedSelect">
<?php
$sql = "SELECT MedID, MedName FROM Meds ORDER BY Rank ASC";
$query = $pdo->prepare($sql);
$query->execute();
if ($query) {
    $row = $query->fetchAll(PDO::FETCH_ASSOC);
    foreach ($row as $value) {
        $selected = $value['MedID'] == $MedIDinDB ? ' selected="selected"' : '';
        echo '<option value="'. $value['MedID'] .'" '. $selected .'>'. $value['MedName'] .'</option>';
    }
} 
?>
</select>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...