我在add_media.php上有一个下拉菜单,该菜单是从MySQL数据库的“bulletins”表中的“bulletin_date”字段填充的。当选择“bulletin_date”时,我希望将“bulletins”表中同一记录的一部分“filename”放入“publications”表中以及通过其他方式提交的数据add_media.php表单。
我不确定如何将“bulletins”表中的“filename”添加到“publications”表中,该表是与所选“bulletin_date”相同的记录的一部分。
我希望这是有道理的......我的确在脑海中,但很难说出来......: - )
答案 0 :(得分:0)
在回答此问题之前需要更多信息,例如,您可以将公告表中的数据预先填充到add_media.php表单中吗?这可以通过检索页面加载的值,并以这样的方式粘贴它来实现:
<input type="hidden" value="<?php echo $bulletinsDateVal ?>" />
这将使其成为add_media.php发布数据的一部分。它可能需要在post之后进行解析/更改才能正确格式化,并且根据实现方式的不同,可能会失去精度。
如果您不能,或者如果您不愿意,那么就这样做,另一种方式是在表单的公告表中提供行的id,就像上面一样。然后,您可以简单地将bulletin_date列值添加为在页面发布后执行的INSERT的一部分,如下所示:
// Code which handles the POST from the form on add_media.php
$bulletinDataSelectVal = $_POST['bulletinDataSelect'];
$sqlInsert = "INSERT INTO publications(filename, other, form, data)
VALUES( (SELECT filename FROM bulletins WHERE id = '$bulletinDataSelectVal'),
'blah',
'dee',
'blah')";
这一切都有意义吗?
我在阅读你的评论后现在看到,所以你可能会想要后者。假设你的表有一个唯一的id列,或者用其它方法来识别它,肯定用select的文本是bulletin_date来填充下拉列表,还要将每个select元素的值设置为表中该行的ID,如下所示:
<select name="bulletinDataSelect">
<option value="<?php echo bulletinData["id"]; ?>"><?php echo $bulletinData["bulletin_date"]; ?>
然后,您可以使用该idOfBulletinData值执行上面编辑的插入。