这里可能是一个简单的解决方案,我很困惑。我有一个<select>
通过来自 MySQL 用户数据库的数组填充的。那里没问题。I've also got a script that when a certain user is selected, I can via AJAX the user's user_id. 我的问题是将该用户 ID 放入变量 $assigned_to 中,以包含在 URL 中。
对不起,编码太具体了。如果需要,我可以将其分解为更简化的版本。这是我到目前为止所得到的:
<script type="text/javascript">
function showData(str)
{
if (str=="")
{
document.getElementById("showData").innerHTML="";
return;
}
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("showData").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","getdata.php?assign_to="+str,true);
xmlhttp.send();
}
</script>
//
//This gets the user_id value from the `<select>` when a user selects it.
//
<?php
//
//Here is the function that displays my users:
//
function userlist()
{
echo "<select name=\"assigned_to\" onChange=\"showData(this.value)\">";
echo "<option default value=\"\">Assignee</option>";
$mysqli = new mysqli("xxx", "xxx", "xxx", "xxx");
$userlist = "SELECT * FROM users where user_level = 2";
$result = $mysqli->query($userlist);
while( $row = $result->fetch_assoc() ) {
echo "<option value=\"".$row['user_id']."\">".$row['first_name']." ".$row['last_name']."</option>";
}
echo "</select> ";
}
echo "<p>";
echo userlist();
echo "<a id=\"show\" href=\"index.php?page=overview&location=advance&assignee=\"".$assign_to."\">Assign</a></p>";
?>
<!-- The line below **will** display the correct user_id value when selected -->
<div id="showData">User Id Shows Here</div>
最后一个 URL 变量 $assign_to 是我希望 $row['user_id'] 选择返回时的值。
我了解解决所有这些问题的理想方法是将表单发布到 php 页面并使用 _POST 来检索所有这些变量。不幸的是,在这种情况下,我需要 URL 中的变量。
一如既往地感谢。