Php 如何从下拉列表中获取所选值
我试图使用动态生成的下拉列表来填充表。我有一个下拉列表,它是从我的数据库中生成的,它获取了特定玩家的所有可用年份。我希望能够从下拉列表中选择一年,并让它更新我的表。我已生成下拉列表,但无法从下拉列表中获取所选值。我在下面找到了我在这里找到的代码,但它似乎不起作用。以下是我目前掌握的代码:Php 如何从下拉列表中获取所选值,php,html,Php,Html,我试图使用动态生成的下拉列表来填充表。我有一个下拉列表,它是从我的数据库中生成的,它获取了特定玩家的所有可用年份。我希望能够从下拉列表中选择一年,并让它更新我的表。我已生成下拉列表,但无法从下拉列表中获取所选值。我在下面找到了我在这里找到的代码,但它似乎不起作用。以下是我目前掌握的代码: <input name="update" type="submit" value="Update" /> </form> <p></p> <form ac
<input name="update" type="submit" value="Update" />
</form>
<p></p>
<form action="player_login.html">
<input type="submit" value="Logout" />
</form>
</div>
<div style="float: left">
<p></p>
<h1>Player Stats</h1>
<table width="300" border="1" cellpadding="2" cellspacing="2">
<?php
// get "id" field from player table
$login_id = $_COOKIE["DB"];
$id = "select id from player where login_id='$login_id';";
$result1=mysql_query($id) or die('Select1 Query failed: ' . mysql_error());
$row = mysql_fetch_array($result1);
// create a dropdown from stats table in db
echo "--Select Year--";
$years_query = "select year from stats where player_id='$row[id]';";
$years = mysql_query($years_query, $connect);
// fill array with db info
$var = array();
while ($row2 = mysql_fetch_array($years))
{
$var[] = $row2['year'];
}
// create dropdown
echo'<select name="years" id="years">';
// For each value of the array assign variable name "city"
foreach($var as $year)
{
echo'<option value="'.$year.'">'.$year.'</option>';
}
echo'</select>';
// get selected option from dropdown
$selected_key = $_POST['years'];
$selected_val = $var[$_POST['years']];
echo "<p></p>selected key: " . $selected_val; // this wont print anything???
$search_query="select * from stats where player_id='$row[id]' and year=2013;";
$result=mysql_query($search_query) or die('Select2 Query failed: ' . mysql_error());
$num_cols = mysql_num_fields($result);
$line = mysql_fetch_row($result);
// create table with results
echo "<tr>";
echo "<td>Year</td>";
$j=1;
echo "<td><input name='$j' type='text' value='$line[$j]' size=20/></td>";
echo "</tr>";
echo "<tr>";
echo "<td>Total Points</td>";
$j=2;
echo "<td><input name='$j' type='text' value='$line[$j]' size=20/></td>";
echo "</tr>";
echo "<tr>";
echo "<td>PPG</td>";
$j=3;
echo "<td><input name='$j' type='text' value='$line[$j]' size=20/></td>";
echo "</tr>";
?>
</table>
</div>
我看到您正在使用$\u POST,为什么不使用表单
就这些!:D
我也看到你正在使用一个独特的表单来更新所有页面。。。这不起作用,因为您只有一个提交按钮,表单中没有更多元素,请阅读:我看到您使用了$\u POST,因为表单未提交,因此未设置$\u POST的数据。我用来捕获事件并发送AJAX查询获取结果并更新它的最佳可用选项 我在jquery的帮助下完成了这项工作,如下所示 $'years'.change函数{ $.ajax{ //AJAX的请求 键入:“POST”, url:'players_data.php', 数据类型:“json”, 数据:{ //带有$\u POST请求的数据 年份:$'years'.val; }, 成功:functiondata{ //使用返回的数据要做的事情 } }}; 创建一个新文件players_data.php,然后编写从数据库中获取数据的代码,如下所示: //从下拉列表中获取所选选项 $selected_key=$_POST['years']; $selected_val=$var[$_POST['years']; 回显所选键:$选定的值;//这不会打印任何东西??? $search\u query=select*从统计数据中选择,其中player\u id='$row[id]'和year=2013;; $result=mysql\u query$search\u query; $num\u cols=mysql\u num\u fields$result; $line=mysql\u fetch\u row$result; $return['year']=$line; echo json_encode$return;
从您的代码中,我可以看到您希望从选择框中获取值,并立即填充表并显示结果。使用jquery获取所选对象的值,并将javascript变量分配给php变量。并将其插入数据库中
<script type="text/javascript">
$( "#years" ).change(function() {
var value=document.getElementById("years").value;
alert(value);
</script>
将变量分配给php并执行php查询
<?php
$data = "<script>document.write(value)</script>";
//execute your query here..
?>
还可以看看ajax。它做得非常好…您需要使用Javascript来实现这一点。。。或者做一个表格。。。
<?php
$data = "<script>document.write(value)</script>";
//execute your query here..
?>