PHP Filter根据页面中的下拉选项下拉数据

时间:2013-11-23 01:54:20

标签: javascript php jquery html mysql

假设: 所有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的副本,请告诉我,我可以提供它们。

再次感谢!

0 个答案:

没有答案