php下拉菜单项分开

时间:2014-03-09 09:24:28

标签: php

我正在尝试从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()因为我只需要课程的名称。我试图将所有课程名称包含在一个下拉菜单中。我在俯瞰什么?

谢谢!

1 个答案:

答案 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