いくつかの要素を組み合わせる方法に関するクエリがあります。
ユーザーが mysql データベース テーブルから供給された名前のリストから選択できる、標準のドロップダウン選択ボックス。
このボックスから選択すると、さらにデータを取得し、ページのさらに下の div の html テーブルに表示する ajax 関数。ドロップダウンから新しい名前を選択すると、テーブル データが更新されます
両方の要素を個別に動作させることはできますが、一緒にはできません。つまり、名前を 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 ファイルから何ももたらされません。