繁体   English   中英

对数据库字段分别使用串联变量

[英]Using concatenated variables individually for database fields

我是stackoverflow的新手,正在寻求一些帮助。 我已经尝试过搜索我要问的问题,但是找不到任何相关主题,所以这里是:

我有一个PHP页面,该页面从MySQL数据库中的表中获取场所列表以及城镇/城市,然后我将其连接起来以填充下拉列表,例如,每个<option>都将显示“ [venue],[town /市]”。

我想做的是,当用户选择其中一个选项时,我想将[venue]和[town / city]作为单独的字段存储在MySQL数据库的另一个表中。

我真的很感谢您的帮助。

可能需要更多详细信息。 例如,您是否需要知道如何在数据库中插入记录? 还是在获取选项标签的值时遇到麻烦?

但是据我了解:

首先要记住设置选项标签的value属性:

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

然后,在提交表单后,您可以对返回的字符串进行切片。 假设您将“ venue,town”存储在名为$ str的变量中

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

$ results将是一个包含两个元素的数组。 $ results [0]包含“场地”,$ results [1]包含“镇”

我不确定有什么帮助,但是您可以提供更多详细信息,我会尽快回复

我认为最好的方法是将数据记录的ID(主键值)放入<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>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM