0

JavaScript と php コードを使用してページを自動更新し、サーバーからデータを読み取ろうとしています

    <html>
<head>
<script type="text/javascript">
function timeMsg()
{
var myVar=setInterval(function(){myTimer()},5000);
}
function myTimer()
{
document.write("<?php 
                session_start();
                $userdata = $_SESSION['views'];
                $name =  $userdata[1]; 
                $mysql_host = 'localhost';
                    $mysql_user = 'root';
                    $connection = mysql_connect($mysql_host,$mysql_user);
                    mysql_select_db("twitter2", $connection);
                    $query = "SELECT * FROM `logindata`";
                    $result =mysql_query($query) or die(mysql_error());
                            while($row = mysql_fetch_array($result))
                    {
                    echo $row['loginname'];
                    }
                        echo "<br>";echo "<br>";
?>");
}
</script>
</head>
<body>
<form>
<input type="button" value="Display alert box in 3 seconds"
onclick="timeMsg()" />
</form>
</body>
</html>

このコードは正常に動作しますが、最初に DB で見つかったもののみを表示しますが、DB にさらに行を追加すると、この新しい行はページに表示されません。

ありがとう、私は自分のコードの一部をこのように変更しました

        <html>
<head>
<script type="text/javascript">
function timeMsg()
{
var myVar=setInterval(function(){myTimer()},1000);
}
function myTimer()
{
var xmlhttp;
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
   document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
    }
  }
xmlhttp.open("GET","phptest.php",true);
xmlhttp.send();
}
</script>

</head>
<body>
<form>
<input type="button" value="Display alert box in 3 seconds"
onclick="timeMsg()" />
<div id="txtHint"></div></p>
</form>
</body>
</html>

そしてphpファイル

<?php 

                $mysql_host = 'localhost';
                    $mysql_user = 'root';
                    $connection = mysql_connect($mysql_host,$mysql_user);
                    mysql_select_db("twitter2", $connection);
                    $query = "SELECT * FROM `logindata`";
                    $result =mysql_query($query) or die(mysql_error());
                            while($row = mysql_fetch_array($result))
                    {
                    echo $row['loginname'];
                    }

?>

それは私にはうまくいきます。ご協力いただきありがとうございます

4

4 に答える 4

0

クライアント側とサーバー側の言語を組み合わせるには Ajax を使用してください。

于 2013-07-15T19:56:43.553 に答える