php - 如何显示属于一个类别的子类别?

标签 php

此代码适用于类别和子类别。在类别中我显示下拉列表中的所有值但对于子类别我想显示属于类别的确切子类别。请帮助我

<div class="form-group">
    <label for="exampleInputEmail1">Category Name</label>
    <select name="type" id="type">
        <option>Select Category</option>  
        <?php 
            $res= mysql_query("select * from ".CATEGORY."  order by id asc");
            while($data=mysql_fetch_array($res))
            {
        ?>
        <option value="<?php echo $data['id'];?>"><?php echo $data['cat_name'];?></option>
        <?php } ?>
    </select>
</div>
<div class="form-group">
    <label for="exampleInputEmail1">Subcategory Name</label>
    <select name="type1" id="type1">
        <option>Select Category</option>
        <?php $res= mysql_query("select * from ".SUBCATEGORY." order by id asc"); 
        while($data=mysql_fetch_array($res))
        {
        ?>
        <option value="<?php echo $data['id'];?>"><?php echo $data['sub_name'];?></option>
        <?php } ?>
    </select>
</div>                               

最佳答案

在选择类别时使用 jquery 获取值,然后将 ajax 值发布到您的 ajax.php 文件中

<div class="form-group">
    <label for="exampleInputEmail1">Category Name</label>
    <select name="type" id="type">
        <option>Select Category</option>  
        <?php 
            $res= mysql_query("select * from ".CATEGORY."  order by id asc");
            while($data=mysql_fetch_array($res))
            {
        ?>
        <option value="<?php echo $data['id'];?>"><?php echo $data['cat_name'];?></option>
        <?php } ?>
    </select>
</div>
<div class="form-group">
    <label for="exampleInputEmail1">Subcategory Name</label>
    <select name="type1" id="type1">


    </select>
</div> 


<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function(){

    $('#type').on("change",function () {
        var categoryId = $(this).find('option:selected').val();
        $.ajax({
            url: "ajax.php",
            type: "POST",
            data: "categoryId="+categoryId,
            success: function (response) {
                console.log(response);
                $("#type1").html(response);
            },
        });
    }); 

});

</script>

在同一个目录下新建一个名为ajax.php的php文件

然后输入这段代码

<?php 
$categoryId = $_POST['categoryId'];
echo "<option>Select Category</option>";
$res= mysql_query("select * from ".SUBCATEGORY." WHERE category_id = $categoryId order by id asc"); 
        while($data=mysql_fetch_array($res))
        {
        echo "<option value='".$data['id']."'>."$data['sub_name']."</option>";
        }
?>

这会起作用

关于php - 如何显示属于一个类别的子类别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26253261/

相关文章:

php - 以复选框形式显示表格内容

php - IF EXISTS UPDATE ELSE INSERT 使用 mysql

php - 访问 Twig 中字符串变量错误的属性

php - Laravel 5.1 中上传文件的安全性

php - Ubuntu 16 中缺少 php_soap.dll

php - 强制 Sony PRS-T1 的浏览器下载 .epub 文件

php - paypal php信用卡付款返回401

php - MySQL 32 位或 64 位 - Apache 32 位 Windows 64 位?

php - PHP 中的 Gettext 需要调用 setlocale(LC_MESSAGES, NULL)

PHP 分页不起作用