我有一个表格,您可以在其中选择车辆:
<div class="form-group row">
<label for="vehicle" class="col-3 col-form-label">Fahrzeug</label>
<div class="col-auto">
<select id="vehicle" name="vehicle" class="custom-select" onchange="selectedVehicle(this.value)">
<option disabled selected style="display: none">Fahrzeug auswählen...</option>
<?php
require_once('php/DBconnect.php');
mysqli_select_db($link, 'db') or die('Cannot select database. ' . mysqli_error());
$sql = mysqli_query($link, "SELECT vehicle_id, license, model FROM vehicle");
while ($row = mysqli_fetch_array($sql)) {
echo "<option value='". $row['vehicle_id']. "'> ". $row['license'] ." | ". $row['model'] . "</option>";
}
?>
</select>
</div>
</div>
在同一表单中,我有一个按钮,可以打开一个模式,以显示车辆已经存在的损坏。
现在我想根据所选选项将每个 PHP 数据从 SQL 查询插入到模式中。就像模态中的头部应该根据所选的vehicle_id显示车牌一样。
在我的 JS 中,我有以下代码:
function selectedVehicle(vehicleID){
createCookie("vehicle", vehicleID, "10");
document.getElementById("modalListDamageTitle").innerHTML =
"<?php
require_once('php/DBconnect.php');
mysqli_select_db($link, 'db') or die('Cannot select database. ' . mysqli_error());
$sql = mysqli_query($link, "SELECT license FROM vehicle WHERE vehicle_id = $vehicleID");
$row = mysqli_fetch_assoc($sql);
echo $row['license'];
?>";
}
首先我尝试直接传递它,然后我尝试使用cookie,但没有任何效果。我怎么解决这个问题?如何在 JavaScript 中将 PHP 代码片段传递给 JavaScript 变量?
最佳答案
您应该使用ajax从数据库中获取数据。 例如,在调用模式的按钮上添加 onclick="get_data(pass_selected_id)" 我在我的一个应用程序中使用了这种方法。希望这会有所帮助。
<!-- Modal -->
<div class="modal fade" id="basicExampleModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel"
aria-hidden="true">
<div class="modal-dialog modal-large modal-dialog-scrollable" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLabel">Raporti i mungesa per kete produkt</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<script>
function get_data(id){
$.ajax({
url:"actions/your-script.php",
method:"post",
data:{id:id},
success:function (response) {
$(".modal-title").html(response);
}
});
}
</script>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-danger" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
<!-- end of modal-->
关于javascript - 根据所选选项显示 SQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58511295/