使用我的选择选项时如何自动填充输入字段

时间:2019-03-29 09:35:40

标签: php pdo

当我选择一个选项时,我可以选择要在其中自动填充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 :(得分:0)

检查条件是否与从数据库表中获取的值匹配。在<option>标记中添加以下行。

  if ($csv->id == $_POST['Tolplus']){ 
      echo 'selected=selected' 
  }