我是数据库编程的新手。我想知道如何在一张表格上调用两张表。
例如,我有两张表,分别叫做"汽车品牌"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从数据库中获取所有相关模型。当您从数据库中获得模型列表时,只需在下拉列表中填充即可。
您可以选中:第一个下拉菜单自动更改第二个下拉的选项