gpt4 book ai didi

php - 如何在数据库的单个查询中调用 2 个相关表

转载 作者:行者123 更新时间:2023-11-29 07:26:00 27 4
gpt4 key购买 nike

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

例如,我有 2 个表,分别称为“汽车品牌”和“汽车型号”。每当用户从组合框中选择汽车品牌(例如 BMW)时,另一个组合框应列出“汽车型号”表中的所有 BMW 型号。

我应该使用 ajax 吗?如果是,我该怎么做?由于我对这方面不是很熟悉,所以在网上搜索这个解决方案对我来说真的很难。

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

顺便说一句,我正在使用 PHP。

最佳答案

我使用 MySql 表中的 jQuery AJAX 驱动的 HTML 数据来解释这一点。

例如,我们有两个下拉列表用于列出“汽车品牌”和“汽车型号”。更改“汽车品牌”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 代码连接数据库,根据 jQuery AJAX 调用传递的品牌 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
}
}
?>

完成上述三个步骤后,您可以看到两个下拉菜单,分别为“汽车品牌”和“汽车型号”。通过从“汽车品牌”下拉列表中选择可用的汽车品牌来查看结果。

希望这对您有帮助!

关于php - 如何在数据库的单个查询中调用 2 个相关表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34541141/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com