我正在尝试使用来自MySQL的数据创建表单,而我当前的输出看起来并不像预期的那样我只需要对当前表单进行一些简单的更改
我在浏览器中的当前输出:http://gyazo.com/f4668ca59586ec0d4d1500ea6f7b6257
我期待的是
代码:
<?php
require_once 'db/connect.php';
//Query to display all events
if ($event_result = $con->query("SELECT Event.Name FROM event")) {
echo "<form method =\"POST\">";
while ($row = $event_result->fetch_assoc()) {
echo $row['Name'] . ' <br> ';
if ($student_result = $con->query("SELECT Student.Form, Teacher.Form, Student.Forename, Student.Surname, Student_ID " .
"FROM Student, Teacher " .
"WHERE Student.Form = Teacher.Form AND Teacher.Form = 'C'")) {
if ($student_result->num_rows) {
echo "<select name ='Student_ID'>";
while ($row1 = $student_result->fetch_assoc()) {
echo "<option value ='" . $row1['Student_ID'] . "'>" . $row1['Forename'] . ' ' . $row1['Surname'] . "</option>";
}
echo "</select>";
}
}
}
echo "</form>";
}
?>
答案 0 :(得分:0)
当您回显行的名称时,您有一个开头<br />
。这意味着回显标题,然后在显示<select>
组之前中断。您应该在关闭while循环之前向右移动<br />
。
或者只是移除顶部<Br />
并在结尾后添加回来,所以它看起来像这样:
echo "</select> <br />";
编辑:这将解决您的最后两个问题,因为现在每个选择组都会正确排列该行的标题。如果你想在表单的顶部有更多的空间,你有很多选项:添加更多的中断,添加边距或填充,或者将元素定位为相对,并使用css top属性或CSS变换来移动它。