#php #html #mysql #checkbox
#php #HTML #mysql #флажок
Вопрос:
У меня есть форма PHP, в которой я отправляю поля базы данных MYSQL: ID, ИМЯ, ГОРОД. У меня есть другая форма, в которой я редактирую весь список. Что я хотел бы сделать, это заполнить одно и то же ИМЯ (выбирая из списка) в каждую строку, когда флажок установлен.
Form.php
<form method="post" action="submit.php" >
<select name="name" id="name"><option type="text" name="name" value="<?php echo $name ?>"><?php echo $name ?></option></select>
<select name="city" id="city"><option type="text" name="city" value="<?php echo $city ?>"><?php echo $city ?></option></select>
<input type="checkbox" name="check[<?php echo $id ?>]" value="<?php echo $id ?>">
<button type="submit" name="update">Update</button>
</form>
submit.php
if (isset($_POST['update'])) {
foreach($_POST['check'] as $key=>$value){
$id = $_POST['id'];
$name = $_POST['id'][$key];
$city = $_POST['city'];
mysqli_query($db, "UPDATE table SET name='$name', city='$city' WHERE id=$id");
}
Было бы неплохо установить флажок в тех строках, где я хочу иметь то же определенное ИМЯ, и отправить его.
Комментарии:
1.
checkbox
будет отправлено в виде массива.2. по умолчанию хранилище флажков находится в формате массива … оно будет размещаться в формате массива… Используйте name=»check_box» вместо name=»проверить [<?php echo $id ?>]»
3. также не помогло
Ответ №1:
Я создал пример, надеюсь, он вам поможет.У вас не может быть значения id в теге option, у вас может быть только значение.
<form method="post" action="submit.php">
<select name="name" id="name">
<option value="1">Option 1</option>
</select>
<select name="city" id="city">
<option value="Athens">Athens</option>
</select>
<input type="checkbox" name="check_box" />
<button type="submit" name="update">Update</button>
</form>
<?php
if (isset($_POST['update'])) {
$check_box_checked = isset($_POST['check_box']);
if($check_box_checked){
echo "Checked";
}else{
echo "Un Checked";
}
$id = $_POST['city'];
echo $id;
$name = $_POST['name'];
echo $name;
//mysqli_query($db, "UPDATE table SET name='$name', city='$city' WHERE id=$id");
}
?>
Комментарии:
1. к сожалению, этот ответ не работает. Я хочу установить флажок для определенных строк, на которые я хотел бы изменить то же ИМЯ из списка. Когда я нажимаю обновить, только те строки получат то же выбранное имя, где был установлен флажок. Проверьте мой скриншот.
2. @Lucas у вас не может быть
option
тега с типом text и name, у вас может быть только значение в каждой опции. Кроме того, если вы хотите иметь несколько значений в каждом флажке, вам нужноid | city | name
объединить, а затем разделить его.