這裏可能是一個簡單的解決方案,我很迷惑自己。我有一個<select>
,它通過一個MySQL數據庫的用戶數組來填充。那裏沒問題。我也有一個腳本,當選擇某個用戶時,我可以通過AJAX用戶的user_id。我的問題是,將該用戶標識放入變量$ assigned_to中,以包含在URL中。
對不起,編碼是如此特殊。如果有要求,我可以把它分解成更簡單的版本。 這裏是我到目前爲止有:AJAX提供的PHP變量更新網址
<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是我想從$行時選擇返回[「user_ID的」]的值。
我明白理解所有這些的理想方法是將表單發佈到php頁面並使用_POST檢索所有這些變量。不幸的是,在這種情況下,我需要URL中的變量。
一如既往的感謝。
你在做什麼已經將發送變量在URL中。你可以用'$ _GET [「assign_to」]來訪問它' – 2013-02-20 20:19:23
試試jquery和ajax,它更容易! – jcho360 2013-02-20 20:21:55
這似乎不適用於當前頁面。它當然會在getdata.php中工作。 – dcclassics 2013-02-20 20:23:40