0
setInterval()을 사용하여 데이터베이스에서 60 초마다 데이터를 가져 오려고합니다. 내 데이터베이스에서 '메시지'와 '받는 사람'을 되 찾을 수 있기를 원합니다.PHP에서 setInterval 함수를 사용하여 데이터베이스에서 데이터를 다시 얻는 방법
내 데이터베이스 테이블 '메시지'
id, message, to, from status
1, 'hello', 'Rebecca', 'Erwin' 1
2, 'see you soon', 'Veronica', 'Erwin' 0
3, 'the party was awsome', 'Erwin', 'Rebecca' 1
4, 'can you make it?', 'Veronica', 'UNKNOWN' 1
<?php
$con = mysqli_connect('localhost','user','pass','my_db');
if (!$con) {
die('Could not connect: ' . mysqli_error($con));
}
$sql="SELECT * FROM mesage where status=1";
$result = mysqli_query($con,$sql);
?>
function run_script() {
cont_m = 0;
cont_s = 0;
s = document.getElementById("seconds");
m = document.getElementById("minutes");
window.setInterval(
function() {
if (cont_s == 60) {
cont_s = 0;
cont_m++;
//get array from database, how do I run the query here get the array and display arrays?
m.innerHTML = cont_m;
if (cont_m == 60) {
cont_m = 0;
}
}
s.innerHTML = cont_s;
cont_s++;
//}, 1000); every second
}, 100);// every 100 miliseconds for example purpose
}
<body onload="run_script()">
<p>
<span id="minutes">0</span>:<span id="seconds">0</span>
</p>
</body>
매초마다 ajax를 사용하여 서버를 요청하는 것은 확실하지 않습니다 ... 전이중 통신을 원할 경우 대신 웹 소켓을 참조하십시오. 또는 최소한 긴 폴링 아약스를 검색하고 interval은 사용하지 말고 재귀 적 메서드를 호출하는 타임 아웃을 사용하십시오. –