Я пытаюсь создать страницу на нашем рабочем сайте. Страница позволяет вам создать действие, которое затем сохраняется в таблице в базе данных 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\">";
но это тоже не сработало. Помощь очень ценится