php - 发布与 PHP 填充的下拉菜单相关的 MySQL 数据

标签 php html mysql

我有一个非常特殊的问题,但似乎找不到有关该主题的任何资源。上次我发布的社区给了我很大的帮助。希望这一次也能如此。

我正在尝试从下拉菜单中发布信息,该菜单中填充有来自 mysql 数据库的信息。我想将此信息发布回同一数据库,但发布到不同的表中。我还希望发布与下拉菜单中显示的信息不同的信息。

例如;

我的表单上有一个“ field ”字段:

      <tr>
        <td>Venue:</td>
        <td>
            <select name="venue">
                <?php query_venue() ?>
            </select>                   
        </td>
      </tr>

使用以下 PHP 函数用我的数据库中的数组填充此字段:

   function query_venue(){
$venue=mysql_query("SELECT * FROM my_db.venues");
while($venue_record = mysql_fetch_array($venue)){
   echo '<option value="'. $venue_record['name'] . '">' . $venue_record['name'] . '</options>';
  }
}

现在我想做的是,当有人点击表单上的“提交”按钮时,我想执行 $_PUT 函数,以不发送来自 'name' 的值 列,而是来自所选名称同一行的 'venue_id' 到我的 my_db.events 表中。 我相信该函数看起来像这样,我只是不知道如何将下拉菜单从发送 'name' 字段更改为发送 'venue_id' 字段:

 function put_venue_id(){
 $venue_id = mysql_real_escape_string($_POST['venue']);
 mysql_query = "INSERT INTO my_db.events (venue_id)
 VALUES ('$venue_id')";
} 

如果有人能够阐明这种情况,那就太棒了!我刚刚深入研究关系数据库,这是有趣的一步! 感谢大家的帮助!

最佳答案

您可以尝试将选项的 value 属性设置为 venue_id,并将用户可见的值设置为 venue_name:

echo '<option value="'. $venue_record['id'] . '">' . $venue_record['name'] . '</option>';

您还可以使用自定义属性或隐藏字段执行某些操作:

How to retrieve custom html attribute in php POST?

我希望这在某种程度上有用。

关于php - 发布与 PHP 填充的下拉菜单相关的 MySQL 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23602919/

相关文章:

php - 无法在多 MYSQL 查询语句上获取结果

PHP MySQL - 我做错了什么吗?

javascript - 如何在不在每个 JS 文件中添加的情况下调用所有文件的通用 JavaScript 函数?

mysql - 重置/压缩mysql AI ID字段?

php - Laravel/Eloquent hasMany 关系 sum()

php - 我需要从 MySQL 数据库中选择最新行,但验证我是否还返回具有给定 ID 的行

javascript - <audio> 的正确加载

html - 为什么这在 IE8 中不起作用?

mysql table trigger throughs错误

php - MYSQL、PHP : INSERT INTO table2 from table 1 only if the project ID is not in second table