我有一个非常特殊的问题,但似乎找不到有关该主题的任何资源。上次我发布的社区给了我很大的帮助。希望这一次也能如此。
我正在尝试从下拉菜单中发布信息,该菜单中填充有来自 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/