如何在一个数据库的单个查询中调用两个相关的表


How to call 2 related tables in a single query from a database

我是数据库编程的新手。我想知道如何在一张表格上调用两张表。

例如,我有两张表,分别叫做"汽车品牌"answers"汽车型号"。每当用户从组合框中选择一个汽车品牌(如宝马)时,另一个组合框应列出"汽车型号"表中的所有宝马车型。

我应该使用ajax吗?如果是,我该怎么做?我很难在网上搜索这个解决方案,因为我对这个领域不太熟悉。

希望通过这个问题了解如何。感谢

顺便说一句,我用的是PHP。

我使用由MySql表中的jQuery AJAX驱动的两个下拉式HTML数据来解释这一点。

例如,我们有两个下拉列表,用于列出"汽车品牌"answers"汽车型号"。在更改"汽车品牌"dorpdown值时,将使用jQuery AJAX动态加载相应的"汽车型号"下拉值。

1)HTML:此代码包含"汽车品牌"、"汽车型号"下拉菜单的HTML代码。

<div class="frmDronpDown">
    <div class="row">
        <label>Car Brand:</label><br/>
        <select name="brand" id="brand-list" class="demoInputBox" onChange="getState(this.value);">
        <option value="">Select Car Brand</option>
        <?php
        foreach($results as $brand) {
            ?><option value="<?php echo $brand["id"]; ?>"><?php echo $brand["name"]; ?></option><?php
        }
        ?>
        </select>
    </div>
    <div class="row">
        <label>Car Model:</label><br/>
        <select name="model" id="model-list" class="demoInputBox">
        <option value="">Select Car Model</option>
        </select>
    </div>
</div>

2)JQuery AJAX:此脚本包含在更改汽车品牌下拉值时调用的函数。它将向PHP页面发送AJAX请求,以获得相应的车型下拉选项。

<script>
    function getState(val) {
        $.ajax({
        type: "POST",
        url: "get_model.php",
        data:'brand_id='+val,
        success: function(data){
            $("#model-list").html(data);
        }
        });
    }
</script>

3)PHP:此PHP代码连接数据库,根据jQueryAJAX调用传递的品牌id检索模型表值。

<?php
    require_once("dbcontroller.php");//Your connection...
    $db_handle = new DBController();
    if(!empty($_POST["brand_id"])) {
        $query ="SELECT * FROM model WHERE brandID = '" . $_POST["brand_id"] . "'";
        $results = $db_handle->runQuery($query);
        ?><option value="">Select Car Model</option><?php
        foreach($results as $model) {
            ?><option value="<?php echo $model["id"]; ?>"><?php echo $model["name"]; ?></option><?php
        }
    }
?>

经过以上三个步骤后,您可以看到两个下拉菜单"汽车品牌"answers"汽车型号。从"汽车品牌"下拉列表中选择可用的汽车品牌,查看结果。

希望这对你有很大帮助!

您可以为此使用ajax功能。使用jquery onchange事件从第一个下拉列表中获取Brand,并发送get请求,使用ajax从数据库中获取所有相关模型。当您从数据库中获得模型列表时,只需在下拉列表中填充即可。

您可以选中:第一个下拉菜单自动更改第二个下拉的选项