2

这是一个例子,如果我输入 id 那么它将从数据库中检索数据并在表单字段中打印它。我的数据库只有三列 - id、name 和 number。这是我的 index.html 文件:

    <html>

<head>

    <script>

        function showData(str)
        {
            if (str=="")
            {
                document.getElementById("ajax-content").innerHTML="";
                return;
            } 

            // Code for IE7+, Firefox, Chrome, Opera, Safari
            if (window.XMLHttpRequest)
            {
                xmlhttp=new XMLHttpRequest();
            }

            // Code for IE6, IE5
            else
            {
                xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
            }

            xmlhttp.onreadystatechange=function()
            {
                if (xmlhttp.readyState==4 && xmlhttp.status==200)
                {
                    document.getElementById("ajax-content").innerHTML=xmlhttp.responseText;
                }
            }

            xmlhttp.open("GET","showData.php?id="+str,true);

            xmlhttp.send();

        }
        return true;

    </script>

</head>

<body>


    <p>Please Enter Your Staff ID:</p>
    <div><input onkeyup="if (event.keyCode == 13) showData(this.value); return false;" /></div>



<div id="ajax-content"></div>

</body>
</html>

这是我的 showData.php 文件:

    <?php

    // Receive variable from URI
    $id=$_GET["id"];

    // Connect to your database
    $con = mysql_connect('localhost', 'root', '');
    if (!$con)
    {
        die('Could not connect: ' . mysql_error());
    }

    // Select your database
    mysql_select_db("test_01", $con);

    // Select all fields from your table
    $sql="SELECT * FROM staffdetails WHERE id = '".$id."'";

    $result = mysql_query($sql);

    while($row = mysql_fetch_array($result))
    {

        echo "Staff Name:" . "<input type='text' value='" . $row['name'] . "'>";
        echo "</br>";
        echo "Contact No.:" . "<input type='text' value='" . $row['number'] . "'>";
    }

    // Close the connection
    mysql_close($con);

?>

现在我要做的是,在给定的表单字段中显示数据,而不是使用表单字段打印数据。这意味着,姓名和号码输入字段将已经在带有 id 字段的表单中。当我输入 id 时,它将拉回数据并将其显示在给定的表单字段中。有人可以帮忙吗?谢谢!

4

1 回答 1

0

您的 index.html 页面中存在 javascript 错误。该return true语句应在函数括号内。

还可以尝试在 index.html 页面顶部添加文档类型内容类型以显示文本字段而不是打印它。

希望这将有助于解决您的问题。

于 2012-11-10T15:25:58.447 回答