我正在尝试从PHP脚本中的外部txt文件创建一个下拉菜单。我使用explode()隔离了正确的名称,但没有将项目显示为5个单独的菜单而不是单个菜单。
以下是我正在使用的代码:
<?php
$file_handle = fopen("courselist.txt", "rb");
while (!feof($file_handle) ) {
$line_of_text = fgets($file_handle);
$parts = explode('::', $line_of_text);
echo '<select name="course">';
echo '<option value="'.$parts[0].'">'.$parts[0].'</option>';
echo '</select>';
}
echo'<table>
<form method="post" action="index.php">
<tr><td>What is your student name?
<input type="text" name="studentname" /></td></tr>
<tr><td>What is your student number?
<input type="text" name="studentnum" /></td></tr>
<tr><td><input type="submit" /></td></tr>
</form>
</table>';
fclose($file_handle);
?>
当然list.txt包含5个课程名称,信息由“::”分隔,因此使用explode()因为我只需要课程的名称。我试图将所有课程名称包含在一个下拉菜单中。我在俯瞰什么?
谢谢!
答案 0 :(得分:1)
echo '<select name="course">';
和echo '</select>';
不应该在while
循环中:
echo '<select name="course">';
while (!feof($file_handle) ) {
$line_of_text = fgets($file_handle);
$parts = explode('::', $line_of_text);
echo '<option value="'.$parts[0].'">'.$parts[0].'</option>';
}
echo '</select>';
此外,如果您希望通过POST
提供选择数据,则应将其放入form
。