2

これは、id を入力すると、データベースからデータを取得してフォーム フィールド内に出力する例です。私のデータベースには、id、name、number の 3 つの列しかありません。ここに私の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 に答える