Обновление таблицы MySQL из поля списка данных - PullRequest
0 голосов
/ 06 марта 2019

Я пытаюсь создать страницу на нашем рабочем сайте. Страница позволяет вам создать действие, которое затем сохраняется в таблице в базе данных mysql. Одним из полей при создании действия является «Назначить для оперативного». Это использует выпадающее меню с использованием параметров списка данных. Список данных заполняется автоматически из таблицы базы данных. Хотя код может быть не самым чистым, он работает хорошо.

            <input list="assigned_to" name="assigned_to" placeholder="Please select..." required>
        <datalist id="assigned_to">
          <?php
          $stmt = $conn->prepare("SELECT * FROM users WHERE idUsers = ?");
          $stmt->bind_param("s", $userId);
          $stmt->execute();
          $result = $stmt->get_result();
            while($row = $result->fetch_assoc()) {
                $uidUsersFromAdmin = $row["uidUsersFromAdmin"];
            }
           $stmt->close();
           $stmt = $conn->prepare("SELECT * FROM users WHERE uidUsersFromAdmin = ?");
           $stmt->bind_param("s", $uidUsersFromAdmin);
           $stmt->execute();
           $result = $stmt->get_result();
             while($row = $result->fetch_assoc()) {
               $emailUsers           =   $row['emailUsers'];
               echo "<option value=\"$emailUsers\"></br>";
           }
            $stmt->close();
           ?>
        </datalist>

Проблема возникает, когда я пытаюсь обновить таблицу. Если пользователь хочет что-то изменить в действии, страница update_activity вводит тот же список данных и заполняет его идеально, однако, если кто-то не изменил «назначенного» человека, поле в таблице базы данных заменяется пробелом. .

Пожалуйста, смотрите код ниже со страницы обновления

            <input list="assigned_to" name="assigned_to" placeholder="<?php echo $assigned_to ;?>">
        <datalist id="assigned_to">
          <!-- This code brings in the 'operatives' from the users database -->
                        <?php
                $stmt = $conn->prepare("SELECT * FROM users WHERE uidUsersFromAdmin = ?");
                $stmt->bind_param("s", $uidUsersFromAdmin);
                $stmt->execute();
                $result = $stmt->get_result();
                while($row = mysqli_fetch_array($result)) {
                    $uidUsersFromAdmin  =   $row['uidUsers'];
                    echo "<option value=\"$uidUsersFromAdmin\">";
                  }
                 $stmt->close();
               ?>            
        </datalist>

Я пытался изменить

<input list="assigned_to" name="assigned_to" placeholder="<?php echo $assigned_to ;?>">

до

<input list="assigned_to" name="assigned_to" Value="<?php echo $assigned_to ;?>">

но это просто создает одну опцию, и я попытался использовать

 echo "<option selected value=\"$assigned_to\">";

но это тоже не сработало. Помощь очень ценится

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...