У меня есть 2 раскрывающихся списка на моей странице HTML: первый раскрывающийся список содержит имена столбцов базы данных, на основе которых будет заполняться второй раскрывающийся список , т. Е.
У меня есть одна таблица споля: <Student Name, Degree, City>
и следующие будут записи;
1. "A", "BS", "New York"
2. "B", "BS", "Chicago"
3. "C", "MS", "Boston"
4. "D", "MS", "New York"
Так что мой первый выпадающий список будет содержать имена столбцов, например, "Степень" и "Город".
Если я выберу «Степень», во втором выпадающем списке должны появиться «BS» и «MS», а если я выберу «Город», во втором выпадающем списке должны быть выбраны «Нью-Йорк», «Бостон» и «Чикаго»..
Как я могу приступить к реализации?
[Добавление моего кода]:
метод changeSecond(first)
остается точно таким же, как вы предлагали
<body>
<form method="POST" action="" name="mainForm">
<table>
<tr>
<td> Filter by: </td>
<td>
<div id="first">
<select onChange="changeSecond(this.value)">
<option value="1">All</option>
<option value="2">Degree</option>
<option value="3">City</option>
</select>
</td>
</tr>
<tr>
<td> </td>
<td>
<div id="second">
<select name="val">
<option value=""></option>
</select>
</div>
</td>
</tr>
</table>
</form>
</body>
И это second_script.php, как вы предложили:
<?
$link = mysql_connect("localhost", "root", "");
if (!$link)
{
die('Could not connect: ' . mysql_error());
}
if (mysql_select_db("myDatabase", $link))
{
$first=mysql_real_escape_string($_REQUEST["first"]);
$query="SELECT ".$first." FROM myTable GROUP BY ".$first;
$data=mysql_query($query);
echo "<select id=\"second\">";
while($row=mysql_fetch_row($data))
{
echo "<option value=\"".$row[0]."\">".$row[0]."</option>";
}
echo "</select>";
}
echo mysql_error();
?>