おそらくここでの簡単な解決策ですが、私は自分自身を混乱させています。<select>
ユーザーのMySQLデータベースから配列を介してデータを取り込む. 問題ありません。特定のユーザーが選択されたときに、AJAX を介してユーザーの 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 に変数が必要です。
いつもありがとう。