如何在php中的单个网页上使用两个下拉列表

时间:2018-05-28 10:32:44

标签: php

我正在做的项目中我必须使用2个下拉列表。

在第一个下拉列表中,我选择了注册客户。选择客户名称后,其他客户信息将从数据库中提取并填入相关文本框中。

在第二个下拉列表中,我正在选择项目名称,就像在第一个下拉列表中一样。 但是在选择第二个下拉值后,客户的详细信息就会刷新。

我也希望保留客户和商品信息。

2 个答案:

答案 0 :(得分:1)

您可以使用ajax发布从数据库中获取数据,而不是重新加载页面。在更改第一个下拉列表时,使用jquery ajax从数据库中获取数据并在第二个下拉列表中填充它。

这样您就可以在没有页面刷新的情况下选择两个下拉列表中的值。

答案 1 :(得分:0)

好的,这是你可以做的一个样本:

<!--myhtml.html (HTML File) put this file into your root folder-->
<!DOCTYPE html>
<html lang="en">
<head>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
    <script src="js/myjs.js" type="text/javascript"></script>
</head>
<body>
    <select id="myDropDown">
        <option id="1" value="Item 1">Item 1</option>
        <option id="2" value="Item 2">Item 2</option>
        <option id="3" value="Item 3">Item 3</option>
    </select>
    <div id="myResultSet">
        <table>
            <tbody>
                <tr>
                    <td id="id"></td>
                    <td id="column1"></td>
                    <td id="column2"></td>
                    <td id="column3"></td>
                    <td id="column4"></td>
                </tr>
            </tbody>
        </table>
    </div>
</body>
</html>

<!--myjs.js (jQuery Script) put this file into your "js" folder-->
$("#myDropDown").change(function() {
    var queryID = $(this).children("option:selected").attr("id");
    var request = $.ajax({
        url: "php/myphp.php", 
        type: "POST", 
        data: {id:queryID}, 
        dataType: "html"
    });
    request.done(function(msg) {
        var columns = eval("("+msg+")");
        $("td#id").html(column.id);
        //You can replace column1, column2, column3, column4 with the names of the columns on your database...
        $("td#column1").html(columns.column1);
        $("td#column2").html(columns.column2);
        $("td#column3").html(columns.column3);
        $("td#column4").html(columns.column4);
    });
});

<!--myphp.php (PHP Script) put this file into your "php" folder-->
<?php
    $id = $_POST['id'];
    $sql = "SELECT * FROM mytable WHERE id = $id";
    if($result = mysqli_query($sql)) {
        $row = mysqli_fetch_array($result, MYSQLI_ASSOC);
        $json_row = json_encode($row);
        echo $json_row;
    }
?>