我正在尝试在我的网站上设置一个表格,该表格是根据用户从下拉菜单中选择的内容填充的。下拉菜单应构成将执行 SELECT 语句的变量。为此,我有一个 HTML 下拉菜单和一个 AJAX 函数。这个功能...
<script>
function showUser(str)
{
if (str=="")
{
document.getElementById("loadhere").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("loadhere").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","ajaxtest.php?q="+str,true);
xmlhttp.send();
}
</script>
这是HTML
<form action="">
<select name="users" onchange="showUser(this.value)">
<option value="">Please choose</option>
<option value="1200">Courses</option>
<option value="">TEST</option>
<option value="">TEST</option>
<option value="">TEST</option>
</select>
</form>
<br>
<div id="loadhere"><b>Details will be listed here after selection.</b></div>
然后调用一个 php 脚本
$q=$_GET["q"];
$sql="SELECT * FROM clntcoursetbl WHERE mbrid = '".$q."'";
$result = mysql_query($sql);
echo "<table id='box-table-b'>
<tr>
<th>Course</th>
<th>Start Date</th>
<th>Finish Date</th>
</tr>";
while($row = mysql_fetch_array($result))
{
echo "<tr>";
echo "<td>" . $row['course'] . "</td>";
echo "<td>" . $row['startdate'] . "</td>";
echo "<td>" . $row['finishdate'] . "</td>";
echo "</tr>";
}
echo "</table>";
?>
目前,我对 'course' 的选择选项的值为 1200,这是用户的客户端 ID,仅用于测试以确保一切正常。它确实如此。
现在,我想更改它,以便将 select 中的值放入 SELECT 语句以选择要搜索的表。类似于"SELECT * FROM selected value WHERE mbrid = '".$q."'";
这可能吗 ?
如果是这样,我怎样才能使 mbrid 动态化?我可以将会话变量传递给函数吗?
一如既往,感谢您的帮助!