-1

因此,我在从表中调用两个字段并将它们作为一个条目输入到选择框中时遇到了一些问题,该选择框中将继续在 while 语句中添加每个条目。用更简单的术语来说,我有一个名为 firstname 的字段和一个名为professors 的表中的下一个 lastname。我需要将这些字段组合在一起,并将每个字段输入到一个选择框中。下面是我拥有的代码,当我开始 while 语句时,我在 Dreamweaver 的底部收到错误,所以我知道我所拥有的东西不起作用,但我无法弄清楚原因。我无法上传带有语法突出显示的图片,因为我刚刚创建了我的帐户并且没有足够的声誉。我在这个问题中只关心的代码部分是我开始表格的开始部分,并在底部声明教授的选择框和循环以获取表中的名字和姓氏。我一直在阅读许多类似问题的支持解决方案,但没有成功。如果有人有任何提示或建议,我将不胜感激。

$fprofessor = $_GET['p_firstname'];
$lprofessor = $_GET['p_lastname'];
$selected_professor=$fprofessor." ".$lprofessor;

$qp = "SELECT p_id, p_firstname, p_lastname FROM professors WHERE p_firstname='$fprofessor' AND p_lastname='$lprofessor'";
$rp = @mysqli_query($dbc, $qp);

// Table header:
echo '<table align="center" cellspacing="0" cellpadding="5" width="auto">
<tr  bgcolor="' . $bg . '">
<td align="left">Section ID</td>
<td align="left">Course Major</td>
<td align="left">Course ID</td>
<td align="left">Course Name</td>
</tr>
<tr bgcolor="' . $bg . '">
    <form action="add_courses.php" method="post">
    <td align="left"><input type="text" name="section_id" size="7" maxlength="7"/></td>
    <td align="left"><select name="course_major">
    <option value="TBA">-Select Major-</option>
    <option value="CIT">CIT</option>
    <option value="CSE">CSE</option>
    <option value="CIT/CSE">CIT/CSE</option></td>
    <td align="left"><input type="text" name="course_id" size="3" maxlength="3"/></td>
    <td align="left"><input type="text" name="course_name" size="15" maxlength="25"/></td>
 </tr>

<tr  bgcolor="' . $bg . '">
<td align="left">Professor</td>
<td align="left">Available</td>
<td align="left">Semester</td>
<td align="left">Year</td>

</tr>

<tr bgcolor="' . $bg . '">

<td align="left"><select name="course_professor">
<option value="TBA">-Select Professor-</option>'
while ($row = mysqli_fetch_array ($rp, MYSQLI_NUM)) {
 echo'<option value="'.$row[. $selected_professor .].'">'.$row[. $selected_professor .].'</option>'
};          
echo'</td>

因此,根据我得到的建议,我将代码修改为更合适的内容。以下是我现在所拥有的,但我仍然收到有关 $qp 变量和此代码中的 while 语句的错误

<td align="left"><select name="course_professor">'

$qp = "SELECT p_id, p_firstname, p_lastname, CONCAT(p_firstname, p_lastname) AS p_fullname FROM professors";
$rp = @mysqli_query($dbc, $qp);

echo '<option value="TBA">-Select Professor-</option>'
while ($row = mysqli_fetch_array ($rp)) {   
echo '<option value="'.$row['p_fullname'].'">'.$row['p_fullname'].'</option>'
};


echo'</td>
4

2 回答 2

0

天哪,我觉得自己很愚蠢。我解决了我遇到的问题,我忘记了一些“;” 结束回声的标签 -_- 下面是有效的代码,但我要感谢 James 帮助我修改我的查询代码。

<td align="left"><select name="course_professor">';

$qp = "SELECT p_id, p_firstname, p_lastname, CONCAT(p_firstname, p_lastname) AS             p_fullname FROM professors";
$rp = @mysqli_query($dbc, $qp);

echo '<option value="TBA">-Select Professor-</option>';
while ($row = mysqli_fetch_array ($rp)) {   
echo '<option value="'.$row['p_fullname'].'">'.$row['p_fullname'].'</option>';
}
echo'</td>
于 2013-10-21T17:01:34.810 回答
0

我想你可能想做类似的事情:

$qp = "SELECT p_id, p_firstname, p_lastname, CONCAT(p_firstname, p_lastname) AS p_fullname FROM professors WHERE p_firstname='$fprofessor' AND p_lastname='$lprofessor'";

然后在底部的查询中引用连接的字段。

如果需要 mysql concat 参考,可以阅读:http ://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_concat

于 2013-10-20T23:10:47.253 回答