使用PHP将MySQL DB中特定用户的数据加载到HTML文本字段中

时间:2015-10-16 14:10:59

标签: javascript php jquery html mysql

我有一个表单,人们必须根据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脚本从数据库中获取该用户所需的数据,回显包含数据的隐藏字段。随后,隐藏字段中的数据将复制到右侧文本字段中。所有这一切都应该在不离开当前页面的情况下发生。

0 个答案:

没有答案