0

我想将数据从 MySql 数据库加载到 HTTP 表单当我在文本中键入时,它应该加载人的姓名

<html>
<head>
    <script type="text/javascript">
    function FetchUser(str)
{
if (str=="")
  {
  document.getElementById("txtHint").innerHTML="";
  return;
  }
if (window.XMLHttpRequest)
  {
  xmlhttp=new XMLHttpRequest();
  }
else
  {
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    var data = JSON.parse(xmlhttp.responseText);
  }
  }
xmlhttp.open("GET","finduser.php?q="+str,true);
xmlhttp.send();
}
this.form.name.value=data.name;
this.form.age.value=data.age;
</script>
</head>
<body>
<form method="post" >
Id<input type="text"  name="id" size="5" />    </br>
Name<input type="text" id="name" name="name"  onclick="Fetchuser(this.form.id.value)" ></br>
Age<input type="text" id="age" name="" size="2" /></br>
</form>
</body>
</html>

用于此的 PHP 代码。

<?php
$q=$_GET["q"];
$con = mysql_connect('localhost', 'root', '125');
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("test", $con);

$sql="SELECT * FROM wow WHERE id = '".$q."'";
$resul = json_encode(mysql_query($sql));
echo $resul;
?> 

我的问题是如何在文本框中同时获取姓名和年龄。我试过了,但我仍然无法加载数据

4

3 回答 3

2

您可以使用 json_encode 返回一个包含所有相关字段的 json,并在 javascript 中将每个字段放在它所属的位置。

$result = json_encode(mysql_query($sql));
echo $result; // don't forget to push the output or responseText is null.

在javascript中:

var data = JSON.parse(xmlhttp.responseText);

然后您使用 data.name_of_the_field 访问您的数据

于 2012-06-27T11:52:55.017 回答
1
 <?php
 $rs=mysql_fetch_object($result );
 $name=$rs->name;
 $age=$rs->age;
 ?>
  Name<input type="text" name="name"  value="<?php echo $name;?>" />
  Age<input type="text" name="" size="2" value="<?php echo $age;?>"  />
于 2012-06-27T12:05:50.880 回答
0

在您的文本框中放一个赞,id这样您就可以通过,<input id="name"<input id="age"document.getElementById("name")document.getElementById("age")

于 2012-06-27T11:57:17.600 回答