假设: 所有MySQL驱动的单个页面上都有两个下拉菜单,每个菜单都有自己的查询,每个表中的数据如下所示:
TABLE NAME tbl_1
FIELDS: seat, seat_desc, model_year, div_num
TABLE NAME tbl_2
FIELDS: model_year, model_year_desc
TABLE NAME: tbl_3
FIELDS: div_num, div_num_desc
示例数据: schema
'keys'是model_year和div_num。
两个下拉列表是模型年度和座位类型。每个型号年份都有不同的座位类型描述。例如,1966年座椅A01是黑色水桶座椅,而1967年A01是绿色水桶座椅,1968年A01变回黑色水桶座椅。
我想做什么: 当用户选择1966时,座位类型下拉列表中仅提供1966年的座位类型,因为选择1966“过滤”座位类型下拉列表中的选择。
我想要一个简洁的解释,因为还有其他一些例子我想使用相同的概念,但我认为这是一个很好的起点。还有其他数据元素由年份和分部编号驱动。 'Function'页面是带有HTML表定义的.php,包含在'index.php'页面中。
最好的方法是什么? JQuery的? JavaScript的?其他EASY方法?我看到这个小提琴,但我不知道如何将其整合到页面中,因为我没有使用直接的HTML。 JFiddle
谢谢, ç
更新: 我想我差不多了,但还是不行。此下拉列表有效:
public function ShowCategory()
{
$sql = "SELECT * FROM tbl_gm_year";
$res = mysql_query($sql,$this->conn);
$category = '<option value="0">--</option>';
while($row = mysql_fetch_array($res))
{
$category .= '<option value="' . $row['model_year_desc'] . '">' . $row['model_year'] . '</option>';
}
return $category;
}
public function ShowType()
{
这个不是
$sql = "SELECT * FROM tbl_gm_seat WHERE model_year=$_POST[model_year]";
$res = mysql_query($sql,$this->conn);
$type = '<option value="0">--</option>';
while($row = mysql_fetch_array($res))
{
$type .= '<option value="' . $row['seat_desc'] . '">' . $row['seat'] . '</option>';
}
return $type;
}
}
$opt = new SelectList();
这是带有drop的HTML页面
<body>
<?php include "select.class.php"; ?>
<form id="select_form">
Choose a category:<br />
<select id="category">
<?php echo $opt->ShowCategory(); ?>
</select>
<br /><br />
Choose a type:<br />
<select id="type">
<option value="0">--</option>
</select>
<br /><br />
<input type="submit" value="confirm" />
</form>
<div id="result"></div>
</body>
如果有人需要db和pages的副本,请告诉我,我可以提供它们。
再次感谢!