javascript - 根据所选选项显示 SQL 查询

标签 javascript php html mysql sql

我有一个表格,您可以在其中选择车辆:

<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">&times;</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/

相关文章:

javascript - 在搜索操作期间无法替换文本

nginx - 安装 phpmyadmin 而不选择 apache2 或 lighttpd

php - 在 MySQL 服务器之间移动数据时避免自动递增 ID 冲突

JavaScript - 获取 Div 内容的值 - 内容被错误的字符串替换

android - 如何让这个媒体查询在三星 Galaxy Note4 的不同浏览器中工作相同?

javascript - 如何记录合并父记录及其所有子记录

javascript - 在 Express 上保持 mysql 连接

javascript - 从 xmldocument 创建 javascript 文档

javascript - 如何在一页中放置多个数据表?

java - 使用java将文本文件中的信息输入到网页上