我有一个可以选择车辆的表格:
<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-->