Php PDO Mysql выбранное значение раскрывающегося списка - PullRequest
2 голосов
/ 09 марта 2020

Я пытаюсь сделать форму обновления. В этой форме обновления есть раскрывающийся список, который заполняется значениями из таблицы mysql. Теперь я получил ожидаемые значения, но не могу получить правильное значение, которое будет выбрано (то, которое принадлежит идентификатору).

Например:

  1. co_id = запись для контактов это тот, который я обновляю.
  2. co_cs_id = идентификатор компании, которая принадлежит co_id, это должно быть выбранное значение.

Я получил следующий код:

echo "<td style width='30%'><select type='text' data-live-search='true' required data-live-search-style='startsWith' class='selectpicker form-control' name='co_cs_id' value='$contacts->co_cs_id'>";
$query = "  SELECT cs_id, cs_name
            FROM customers_suppliers            
            WHERE cs_status=0 
            ORDER BY cs_name";


            $stmt = $db->prepare($query);
            $stmt->execute();

while ($row = $stmt->fetch(PDO::FETCH_ASSOC)){
    extract($row);
    echo "<option value='{$cs_id}'>{$cs_name}</option>";
}
echo "</select>";

Это пример записи: Record information before update form

Update form with wrong company value

Вы можете видеть, что стоимость компании не совпадает.

1 Ответ

1 голос
/ 10 марта 2020

вы можете использовать selected атрибут

while ($row = $stmt->fetch(PDO::FETCH_ASSOC)){
    extract($row);
    if($cs_id == $co_cs_id) {
        echo "<option value='{$cs_id}' selected>{$cs_name}</option>";
    } else {
        echo "<option value='{$cs_id}'>{$cs_name}</option>";
    } 
}

или в одну строку

while ($row = $stmt->fetch(PDO::FETCH_ASSOC)){
    extract($row);
    echo "<option value='{$cs_id}'".(($cs_id == $co_cs_id) ? "selected" : "").">{$cs_name}</option>";
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...