Использование объединенных переменных индивидуально для полей базы данных

Я новичок в stackoverflow и я после небольшой помощи. Я уже пытался найти то, что я собираюсь спросить, но не могу найти какие-либо соответствующие темы, поэтому здесь идет:

У меня есть страница PHP, которая получает список мест и города / города из таблицы в базе данных MySQL, которую я затем объединил для заполнения раскрывающегося списка, например, каждый <вариант> будет отображаться «[место], [город / город]».

Я пытаюсь сделать, когда пользователь выбирает один из вариантов, я хочу сохранить [место проведения] и [город / город] как отдельные поля в другой таблице в базе данных MySQL.

Я был бы очень признателен за любую помощь.

0

Решение

Я думаю, что лучший способ состоит в том, чтобы поместить идентификаторы шнура данных (значение первичного ключа) в атрибут значения <option> тэги, затем на стороне сервера запрашивают данные выбранного идентификатора из базы данных. Таким образом, ваша форма не может быть изменена с нежелательными данными.

Чтобы быть более понятным, я бы сделал это, как в этом упрощенном полупсевдокоде:

<?php
$action = isset($_GET['action']) ? $_GET['action'] : null;

if($action == "save") {
$id = $_POST['venue'];

if(!empty($id)) {
/* fetch data belonging to $id from database and then save venue and town/city
as separate fields in another table */
}
}

/* fetch all data for the selectbox from the db and store it in $data */
?>
<form action="?action=save" method="post">
<select name="venue" size="1">
/* iterate through $data and create $id and $caption */
<option value="<?php echo $id; ?>"><?php echo $caption; ?></option>
/* iteration end */
</select>

<input type="submit" value="save" />
</form>
0

Другие решения

Может потребоваться больше деталей. Например, вам нужно знать, как вставить записи в базу данных? или у вас также возникают проблемы с получением значений тега option?

Но из того, что я понял:

Сначала не забудьте установить атрибут значения тегов option:

<option value="venue,town">venue,town</option>

Затем после отправки формы вы можете нарезать возвращаемую строку.
Предположим, вы сохранили «место встречи, город» внутри переменной с именем $ str

$results = explode(",",$str);

$ results будет массивом с двумя элементами. $ results [0] содержит «место встречи», а $ results [1] содержит «город»

Я не уверен, насколько это помогло, но вы можете дать более подробную информацию, и я вернусь

1

А ты уже прошел курс программирования? Супер скидка!
Прокачать скилл $$$
×