gpt4 book ai didi

php - 使用 ajax 函数根据下拉列表更改 select 语句的表?

转载 作者:行者123 更新时间:2023-11-30 01:36:40 24 4
gpt4 key购买 nike

我正在尝试在我的网站上设置一个表格,该表格根据用户从下拉菜单中的选择进行填充。下拉菜单应包含将执行 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 选定值 WHERE mbrid = '".$q."'";

这可能吗?

如果是这样,我怎样才能使 mbrid 动态化?我可以将 session 变量传递到函数中吗?

一如既往,感谢您的帮助!

最佳答案

您可以在 showUser() 函数中进行 ajax 调用,如下所示。

var url = "url of the file you want to get data from"; 
var e = document.getElementById("#<Your Select Items ID>");
var data = 'q='+e.options[e.selectedIndex].value;
$.ajax({
type: "post",
url: url,
data: data,
success: function(msg) {
}
});

然后您可以使用 $_POST['q'] 获取目标页面中的值。

还可以尝试将所有回显数据附加到变量中,并在循环执行完成时执行回显。

关于php - 使用 ajax 函数根据下拉列表更改 select 语句的表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16791235/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com