在我的php网站上,我想使用javascript从mysql数据库每三秒检索一次数据。
问题:当我使用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>
答案 0 :(得分:1)
您无法通过JavaScript调用PHP函数:
link.innerHTML = "<?php dynamic(); ?>";
您需要进行AJAX调用才能运行PHP脚本并返回结果。我建议使用jQuery和$ .ajax,这非常容易。
答案 1 :(得分:1)
你需要使用普通的ajax或jquery ajax。使用javascript setInterval()函数来设置间隔
以下是jquery ajax方法的示例
function request()
{
$.ajax ({
url : "";
data : {},
dataType : "" ,
success : function(success) {} ,
error : function() {}
});
}
setInterval()语法
setInterval(request,3000); // in milliseconds