我如何创建一个下拉框来回显mysql记录?PHP、SQL
我正在创建一个网站,需要一些关于如何创建类似内容的帮助: (用户基本上可以选择任意2名玩家并比较他们的胜利) 但是,我将使用一个下拉框,而不是在搜索框中键入内容,关于如何实现这一点,有什么想法吗 到目前为止,我已经建立了我的数据库,并使用SQL、PHP进行了连接 我的表格的快速说明: [选择播放器]//这将是一个下拉/选项框 Forename://这些字段的内容将取决于用户从上面的下拉/选项框中选择的播放器 姓: 国籍: 出生日期: 高度: 重量: 如有任何建议,将不胜感激我如何创建一个下拉框来回显mysql记录?PHP、SQL,php,sql,record,Php,Sql,Record,我正在创建一个网站,需要一些关于如何创建类似内容的帮助: (用户基本上可以选择任意2名玩家并比较他们的胜利) 但是,我将使用一个下拉框,而不是在搜索框中键入内容,关于如何实现这一点,有什么想法吗 到目前为止,我已经建立了我的数据库,并使用SQL、PHP进行了连接 我的表格的快速说明: [选择播放器]//这将是一个下拉/选项框 Forename://这些字段的内容将取决于用户从上面的下拉/选项框中选择的播放器 姓: 国籍: 出生日期: 高度: 重量: 如有任何建议,将不胜感激 非常感谢如果您将S
非常感谢如果您将SQL查询结果存储在一个2d数组(行x列)中,您只需在数组的结果中循环,即可打印出下拉框的
,如下所示:
<?php
$users = // SQL query result
echo "<select>";
foreach($users as $user) {
$data = $user["forename"];
echo "<option value='$data'>$data</option>";
}
echo "</select>";
?>
我会尝试一下,然后回来。谢谢您的建议。只需确保将$users
和$forename
替换为适当的值即可。我希望有帮助!嗯,我设法创建了一个下拉框,显示存储在数据库中的网球运动员的姓名。现在我需要它,这样当从下拉框中选择“费德勒”时,就会显示他的详细信息,如出生日期、身高、体重、国籍。然后,当我从下拉框中选择“纳达尔”时,就会显示他的详细信息。我该怎么做?@AspiringIT这是一个完全不同的想法,您需要JS/jQuery(一种客户端语言)来处理下拉框的更改。但我可以举个例子。给我几分钟,我已经开始工作了!代码的顶部确实起到了帮助,最后我决定隐藏/显示哪些是通过mysql查询提供的数据。选择选项没有你我做不到,所以非常感谢你!
<select id="dropdown">
<?php
// this PHP is essentially the same as in the above example
$users = [ // this is the test array I used. The SQL result should be in the same format for this to work.
[
"forename"=>"a_name",
"dob"=>"never",
"height"=>"too_tall",
"weight"=>"too_heavy",
"nationality"=>"martian"
],
[
"forename"=>"second_name",
"dob"=>"always",
"height"=>"too_short",
"weight"=>"too_light",
"nationality"=>"moon"
],
[
"forename"=>"third_name",
"dob"=>"forever",
"height"=>"300ft",
"weight"=>"2000lb",
"nationality"=>"Earth"
]
];
$userDataArray = []; // multidimensional array
$user_id = 0;
foreach($users as $user) {
$data = $user["forename"];
echo "<option value='$user_id'>$data</option>";
$user_id++;
$userDataArray[] = [ "forename"=>$user["forename"], "dob"=>$user["dob"], "height"=>$user["height"], "weight"=>$user["weight"], "nationality"=>$user["nationality"] ];
// index 0 = forename, 1 = DOB, 2 = height, 3 = weight, 4 = nationality
}
?>
</select><br />
<span id="display"></span>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script><!-- load jQuery library -->
<script>
var users = [
<?php // translate PHP array to JS one
foreach($userDataArray as $user) {
echo "{ forename: '" . $user["forename"] . "', dob: '" . $user["dob"] . "', weight: '" . $user["weight"] . "', height: '" . $user["height"] . "', nationality: '" . $user["nationality"] . "'},";
}
?>
];
$("#dropdown").change(function() {
var i = $("#dropdown").val();
$("#display").html("Name: " + users[i].forename + "<br />DOB: " + users[i].dob + "<br />Weight: " + users[i].weight + "<br />Height: " + users[i].height + "<br />Nationality: " + users[i].nationality);
});
</script>