我是stackoverflow的新手,经过一些帮助。我已经尝试过搜索我要问的内容,但找不到任何相关主题,所以这里有:
我有一个PHP页面,它从MySQL数据库中的表中获取场所列表和它的城镇/城市,然后我将其连接起来填充下拉列表,例如每个<选项>将显示“[场地],[城镇/城市]”。
我想要做的是当用户选择其中一个选项时,我想将[场地]和[城镇/城市]作为单独的字段存储在MySQL数据库的另一个表中。
我真的很感激任何帮助。
答案 0 :(得分:1)
可能需要更多细节。例如,您是否需要知道如何在数据库中插入记录?或者您在获取选项标记的值时遇到问题?
但据我所知:
首先记得设置选项标签的值属性:
<option value="venue,town">venue,town</option>
然后在提交表单后,您可以对返回的字符串进行切片。 假设您将“venue,town”存储在名为$ str
的变量中$results = explode(",",$str);
$ results将是一个包含两个元素的数组。 $ results [0]包含“venue”和$ results [1]包含“town”
我不确定它有多大帮助,但你可以提供更多细节,我会回来
答案 1 :(得分:0)
我认为最好的方法是将datarecord ids(主键值)放入<option>
标签的value属性中,然后在服务器端重新查询数据库中所选id的数据。这样,您的表单就无法使用不需要的数据进行操作。
为了更清楚,我会像在这个简化的半伪代码中那样做:
<?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>