首页 > 解决方案 > 如何使用 WHERE 子句中的下拉值查询数据库

问题描述

已编辑 我有一个包含玩家列表的下拉列表,我希望在从下拉列表中选择玩家时显示他们的值。对 JS 和 Ajax 来说有点新,但已经设法将以下内容拼凑在一起。At the moment, nothing appears when a value is selected.

感谢@brombeer 的回答。

如果我有其中的十个,我可以回收相同的 ajax.js 和 showvalue.php 还是每个下拉列表都需要一个?

选择播放器.php

    <tbody>
      <tr>
        <td style="width:50%;">
            <select name="player1" id="player" onchange="showvalue()">
                <option disabled selected value></option>
                <?php
                    $sql = "SELECT * FROM players ORDER BY value DESC";
                    $result = mysqli_query($conn, $sql);
                    $resultCheck = mysqli_num_rows($result);
                        if ($resultCheck > 0) {
                            while ($row = mysqli_fetch_assoc($result)) {
                                 echo "<option value='". $row['playername'] ."'>" .$row['playername'] ."</option>";
                            }
                        }
                 ?>
            </select>
        </td>
        <td style="width:50%;" id="value">
        </td>
      </tr>

js/ajax.js

function showvalue(){
    
    var x = document.getElementById("player").value;
    
    $.ajax({
        url:"../showvalue.php",
        method: "POST",
        data:{
            id : x
        },
        success:function(data){
            $("#value").html(data)
        }
    })
}

显示值.php

<?php
    ...db connection...
    $pl = $_POST['id'];
    $pl = trim($pl);
    $sql = "SELECT value FROM players WHERE playername='{$pl}'";
    $result = mysqli_query($conn, $sql);
    while($rows = mysqli_fetch_array($result)){
        echo $rows['value'];
    }
?>

标签: javascriptphpajax

解决方案


推荐阅读