javascript - 如何使用 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'];
}
?>
解决方案
推荐阅读
- selenium - 找到颜色的 xpath
- node.js - events.js:180 抛出 er;// 未处理的“错误”事件 ^
- python - 一系列列数据的散点图
- php - 如何防止用户直接从 url 访问文件?
- php - Laravel 5.8 - 每个 IP 的速率限制
- node.js - .where() firestore 查询无法正常工作?
- java - 如何编写仅在字符串包含某些字符和数字时才激活的正则表达式?
- r - 如何编写一个从 dataframe1 获取数据并将其添加到 dataframe2 的 for 循环?
- c# - 如何将 Swagger 的 XmlComments 仅包含在一个 API 控制器中(不是同一项目中的所有控制器)?
- java - Minecraft Launcher 因 setUnlocalizedName() 而崩溃;但 IntelliJ 做得很好