0

データベースから最初のドロップダウン ボックスを取得しましたが、2 番目のドロップダウン ボックスが表示されなくなりました。2 番目の関数を呼び出している if ステートメントに何か問題があると思いますが、「WHERE」かどうかもわかりません。私のクエリではステートメントは正しいですこれが私のコードです

echo "<tr>";
echo "<td>Department</td>";
echo "<td><div id=\"deptdiv\"><select name=\"department\">";
echo "<option>Select Department</option>";
echo "</td>";
while($row=mysql_fetch_array($result))
{
echo '<option value="'.$row['abbrev'].'">'.$row['abbrev'].'</option>';
}

if($_GET[department] == "department" && isset($_GET[department])) {
drop_2($_GET[department]);
}
function drop_2($id)
{
$query = mysql_query("SELECT courseno, name FROM course WHERE department=$id");

echo "<tr>";
echo "<td>Course</td>";
echo "<td><div id \"coursediv\"><select name=\"course\">";
echo "<option>Select Course</option>";
echo "</td>";
while($r=mysql_fetch_array($query))
{
echo '<option value="'.$r['courseno'].'">'.$r['name'].'</option>';
}
}
?>
4

2 に答える 2

0

<select>要素内にテーブルタグがあり、そのタグを閉じなかったため、最初のドロップダウンショーに驚いています。それが主な問題だと思います。次のようにしてみてください:

echo "<td><div id=\"deptdiv\"><select name=\"department\">";
echo "<option>Select Department</option>";
while($row=mysql_fetch_array($result))
{
  echo '<option value="'.$row['abbrev'].'">'.$row['abbrev'].'</option>';
}
echo "</select></div></td>";

また、GET変数を引用符で囲んで、PHPが定数とは見なさないよう$_GET['department']にし、drop_2関数の最後にあるselectタグを閉じる必要があります。また、関数で</td>、選択を閉じた後にタグをに移動します。

お役に立てば幸いです。

于 2012-04-13T05:58:14.800 に答える
0

ここにあなたの修正されたコードがあります..

 echo "<tr>";
echo "<td>Department</td>";
echo "<td><div id=\"deptdiv\"><select name=\"department\">";
echo "<option>Select Department</option>";
while($row=mysql_fetch_array($result))
{
echo '<option value="'.$row['abbrev'].'">'.$row['abbrev'].'</option>';
}
echo "</div>";
echo "</td></tr>";
if($_GET['department'] == "department" && isset($_GET['department'])) {
drop_2($_GET['department']);
}
function drop_2($id)
{
$query = mysql_query("SELECT courseno, name FROM course WHERE department=$id");

echo "<tr>";
echo "<td>Course</td>";
echo "<td><div id \"coursediv\"><select name=\"course\">";
echo "<option>Select Course</option>";
while($r=mysql_fetch_array($query))
{
echo '<option value="'.$r['courseno'].'">'.$r['name'].'</option>';
}
echo "</div>";
echo "</td></tr>";
}
?>
于 2012-04-13T06:15:47.807 に答える