Как я могу автоматически заполнить поле ввода, когда я использую опцию выбора - PullRequest
0 голосов
/ 29 марта 2019

У меня есть этот выбор, где я хочу, чтобы автоматически заполнить поля ввода Tolminus и Tolplus, когда я выбираю опцию. Как я могу это сделать?

Вот что я пробовал:

Это таблица, с которой я работаю

+----+--------------+---------+----------+
| id |  Varenummer  | Tolplus | Tolminus |
+----+--------------+---------+----------+
|  1 | Varenummer 1 |     123 |     -123 |
|  2 | Varenummer 2 |     321 |     -321 |
+----+--------------+---------+----------+

Вот код, который я пробовал с

это мой класс

public function getAllVarenummer(){
    return $this->db->tolist("SELECT Varenummer FROM `Varenummer_tb`");
}

Это мой выбор, и без WHERE Varenummer.id = Tolminus.id я получаю первое значение.

<select class="form-control" name="Varenummer" id="exampleFormControlSelect4" id="selectid">
    <?php foreach ($csv->getAllVarenummer() as $csv) { ?>
        <option value="<?= $csv->id ?>" selected><?= $csv->Varenummer ?></option>
    <?php } ?>
</select>...

<?php
    $sth = $db->prepare("SELECT `Tolminus`,Varenummer FROM Varenummer_tb WHERE Varenummer.id = Tolminus.id");
    $sth->execute();
    $Tolminus = $sth->fetch(PDO::FETCH_COLUMN);
?>

//Input fields

<div class="form-group col-2">
    <label for="Tolminus">Tol -</label>
    <?=$error['Tolminus']?>
    <input type="text" name="Tolminus" id="Tolminus" class="form-control" value="<?= $Tolminus ?>">
</div>
<div class="form-group col-2">
    <label for="Tolplus">Tol +</label>
    <?=$error['Tolplus']?>
    <input type="text" name="Tolplus" id="Tolplus" class="form-control" value="<?= $_POST['Tolplus'] ?>">
</div>

Результат должен быть при выборе Varenummer 1, поле ввода Tolplus будет 123, а Tolminus будет -123.

чтобы быть более понятным $ csv из class.php

class Csv extends \PDO
{
    /**
     * @var null
     */
    private $db = null;

    /**
     * csv constructor.
     * @param $db
     */
    public function __construct($db)
    {
        $this->db = $db;
    }

        /**
     * @param int $length
     * @return string
     */

1 Ответ

0 голосов
/ 29 марта 2019

Проверьте, чтобы условие совпадало со значением, полученным из таблицы базы данных.Добавьте строку ниже в тег <option>.

  if ($csv->id == $_POST['Tolplus']){ 
      echo 'selected=selected' 
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...