我有一个表单,人们必须根据ID键入他们的ID,数据库中的相应数据被加载到同一页面上的文本字段中。人们可以改变数据并更新数据库。
要加载数据,请使用以下Javascript代码:
function btn_load_Click(){
if(window.XMLHttpRequest){
xmlhttp = new XMLHttpRequest();
}
else {
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function(){
if(xmlhttp.readyState==4&& xmlhttp.status==200){
document.getElementById("perDATA").innerHTML = xmlhttp.responseText;
}
}
xmlhttp.open("POST","Load.php",true);
xmlhttp.send();
document.getElementById('txtItem1').value = document.getElementById('hid-item1').value;
document.getElementById('txtItem2').value = document.getElementById('hid-item2').value;
}
PHP:
$host = "localhost";
$user = "username";
$password = "password";
$database = "database";
$connection = mysqli_connect($host,$user,$password,$database) or die ("connection to server failed");
mysqli_select_db($connection,$database) or die ("couldn’t select database");
$player = mysqli_real_escape_string($connection,$_POST['txtUser']);
$item1 = mysqli_real_escape_string($connection,$_POST['txtItem1']);
$item2 = mysqli_real_escape_string($connection,$_POST['txtItem2']);
$query = "SELECT * FROM table WHERE userId=$player";
$result = mysqli_query($connection,$query)
or die ("couldn’t execute update query: ".mysqli_error($connection));
$row = mysqli_fetch_assoc($result);
echo "<input type='hidden' id='hid-item1' value='".$row['item1']."'>";
echo "<input type='hidden' id='hid-item2' value='".$row['item2']."'>";
mysqli_close($connection);
?>
HTML表单:
<body>
<form id="form1" action="http://www.something.com/TestScript1.php" method="post" enctype="application/x-www-form-urlencoded">
<div>
<button type="submit" id="submit" value="Submit" title="SAVE">SAVE</button>
</div>
<div>
<input id="txtUser" name="txtUser" type="text" />
<input id="txtItem1" name="txtItem1" type="text" />
<input id="txtItem2" name="txtItem2" type="text" />
</div>
</form>
<div id="perDATA" name="perDATA"></div>
</body>
问题:我使用Javascript在隐藏字段中加载数据,然后将它们复制到右侧文本字段。当我在PHP脚本中使用固定ID而不是$player
时,它可以正常工作。但是,将ID传递给$player
似乎是一个问题。所以,我想要的是当人们输入他们的ID时点击LOAD,他们的ID值被发送到PHP脚本中的$player
变量。 PHP脚本从数据库中获取该用户所需的数据,回显包含数据的隐藏字段。随后,隐藏字段中的数据将复制到右侧文本字段中。所有这一切都应该在不离开当前页面的情况下发生。