我的数据库中有两个表。我有一个表格可以向表news
添加信息。在我的形式中,我有下拉列表,其中包含来自另一个表courses
的信息。我想保存选择的结果,并保存在表news
。我怎么能做到呢?
代码:
<p>Course</p>
<?php
mysql_connect("localhost", "root", "");
mysql_select_db("university");
$sql = "SELECT name FROM courses";
$result = mysql_query($sql);
print '<select>';
while ($row = mysql_fetch_assoc($result)) {
print '<option value='.$row['name'].'>'.$row['name'].'</option>';
}
print '</select>';
?>
首先你需要给你的select
标签一个name
属性,然后一旦你发布你的表单,你会得到所选的option
的值,就像你得到其他输入字段的值一样。
我还建议从您的select查询中获得课程的id和名称。然后,您应该使用id作为option
的value
属性,同时可以保留名称以向用户显示它。这样,您将存储所选课程的id而不是名称,这意味着如果名称略有变化,您仍将存储适当的课程id。
<select name="selectedcourse">
<option value="1">Course 1</option>
<option value="2">Course 2</option>
<option value="3">Course 3</option>
</select>
在PHP服务器端,你可以这样得到所选值:
$_POST["selectedcourse"]
当然,如果您的表单方法是POST而不是GET…