簡體   English   中英

無法通過javascript函數從數據庫獲取php數據

[英]Trouble getting php data from database through javascript function

在我的php站點上,我想使用javascript從mysql數據庫每三秒檢索一次數據。

問題:當我SELECT * from msgtable使用SELECT * from msgtable檢索數據時,php和javascript startTime似乎都不起作用。

JavaScript的:

setInterval(function() {
   var link = document.getElementById("chg");
   link.href = "http://google.com.pk";
   link.innerHTML = "<?php  dynamic(); ?>"; 
}, 3000);

function startTime() {
   var today = new Date();
   var s = today.getSeconds();
   s = checkTime(s);

   if( s == s+3 ) { alert("faraz"); }
   document.getElementById('time').innerHTML= s;
   t = setTimeout( function() { startTime() }, 500 );
}

function changeURL() {
   var link = document.getElementById("chg");
   link.href = "http://google.com.pk";
   link.innerHTML = "Google Pakistan"; 
}

function checkTime( i ) {
   if ( i < 10 ) {
      i = "0" + i;
   }
   return i;
}

PHP:

<?php 
    $connection = mysql_connect("localhost","root","");
    $db_select = mysql_select_db("msgs",$connection);  
    $result = mysql_query("SELECT * FROM msgtable", $connection);

    function dynamic() {
        echo "faraz";

        while ( $row = mysql_fetch_array( $result ) ) {
        echo $row['msgBody'] ;
        }   
    }
?>

HTML:

<body onLoad="startTime()">
    <div id="chg1"> 3 Seconds to Google Pakistan  </div>
    <a href="http://google.it" id="chg">Google Italia</a>
    <!-- Hafiz Faraz Mukhtar-->
    <div id="time"> Time </div>
    <div class="publicOut">Faraz</div>
</body>

您無法通過JavaScript調用PHP函數,如下所示:

link.innerHTML = "<?php  dynamic(); ?>"; 

您需要進行AJAX調用才能運行PHP腳本並返回結果。 我建議使用jQuery和$ .ajax,這使得這很容易。

http://api.jquery.com/jQuery.ajax/

你需要使用普通的ajax或jquery ajax。使用javascript setInterval()函數來設置間隔

這是一個示例jquery ajax方法

        function request()
         {
           $.ajax ({
           url : "";
           data : {},
           dataType : "" ,
           success : function(success) {} ,
           error : function() {}
           });
         }

setInterval()語法

     setInterval(request,3000);  // in milliseconds

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM