将结果从下拉列表保存到另一个表


Save result from dropdown list to another table

我的数据库中有两个表。我有一个表格可以向表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作为optionvalue属性,同时可以保留名称以向用户显示它。这样,您将存储所选课程的id而不是名称,这意味着如果名称略有变化,您仍将存储适当的课程id。

所以这个字段的最终HTML应该是这样的:
<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…