我有一个关于如何组合几个元素的查询:
一个标准的下拉选择框,用户可以在其中从来自 mysql 数据库表的名称列表中进行选择。
从此框中选择后 - 一个 ajax 函数,该函数检索更多数据并显示在页面下方 div 中的 html 表中。从下拉列表中选择新名称时 - 表数据刷新
我可以让两个元素单独工作但不能一起工作,即当我将名称单独写入 html 选择位时,javascript/ajax 可以工作,但是当我实现 PHP 以自动填充下拉列表时,其他数据不会在全部。
一些代码:
<head>
<?php
$con = mysql_connect("localhost","******","*******");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("*******", $con);
$sql="SELECT
People1.person_id,
People1.forename,
People1.surname,
People1.team_id
FROM People1
WHERE People1.team_id = 8";
$result=mysql_query($sql);
$options="";
while ($row=mysql_fetch_array($result)) {
$id=$row["person_id"];
$thing=$row["forename"];
$options.="<OPTION VALUE=\"$id\">".$thing;
}
?>
<script type="text/javascript">
function showUser(str)
{
if (str=="")
{
document.getElementById("txtHint").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("txtHint").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","getuser.php?q="+str,true);
xmlhttp.send();
}
</script>
</head>
<body>
<h1>Player Info</h1>
<form>
<SELECT NAME="player_id" "showUser(this.value)">
<OPTION VALUE="">Choose</OPTION>
<OPTION VALUE=<?=$options?>></OPTION>
</SELECT>
</form>
<br />
<div id="txtHint"><b>Person info will be listed here.</b></div>
</body>
</html>
在上面的所有内容中,我得到了几乎可以填充的下拉列表,但是选择名称并没有从 getuser.php 文件中带来任何东西。