データベースに保存されているデータの ID をエコーする php スクリプトを作成する方法を教えてください。たとえば 2 分後など、特定の時間後にそれ自体を繰り返します。cron ジョブや別のスケジューラを使用したくありません。php のみまたはjavascriptの実装。よろしくお願いします..
3 に答える
3
私はこのスクリプトで同様のことをしました。ユーザーがページを表示している間、scriptToRun.php
2分ごとに実行されます。
function changeFeedAddress() {
$.ajax({
type: 'get',
url: 'scriptToRun.php',
success: function(txt) {
// do something with the new RSS feed ID here
}
});
}
setInterval(changeFeedAddress,120000); // 2 MINUTES
于 2011-01-12T00:41:28.663 に答える
1
なぜこれをしないのですか?
<?php
header('refresh: 600; url=http://www.yourhost.com/yourscript.php');
//script here
?>
スクリプト内からランダムにIDを生成する場合...これはうまくいきます。ページは 10 分ごとに更新されます。
于 2011-01-12T02:21:35.713 に答える
1
@JMC Creative の代替 (例のために自己完結型):
<?php
// check if the $.post below is calling this script
if (isset($_POST['ajax']))
{
// $data = /*Retrieve the id in the database*/;
// ---vvvv---remove---vvvv---
// Example Data for test purposes
$data = rand(1,9999);
// End Example Data
// ---^^^^---remove---^^^^---
// output the new ID to the page so the $.post can see it
echo $data;
exit; // and stop processing
}
?>
<html>
<head>
<title>Demo Update</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript">
$(function(){
// assign a timeout for this script
var timeout = 2 * 60000; // 2 minutes
// create a function we can call over and over to fetch the ID
function updateDBValue(){
// call this same script and retrieve an "id from the database" (see top of page)
$.post('<?php echo $_SERVER['PHP_SELF']; ?>',{ajax:true},function(data){
// 'data' now contains the new ID. For example's sake, place the value
// in to an input field (as shown below)
$('#db-value').val(data);
// set a timer to re-call this function again
setTimeout(updateDBValue,timeout);
});
}
// call the function initially
updateDBValue();
});
</script>
</head>
<body style="text-align:center;">
<div style="margin: 0 auto;border:1px solid #000;display:block;width:150px;height:50px;">
DB Value:<br />
<input type="text" id="db-value" style="text-align:center;" />
</div>
</body>
</head>
于 2011-01-12T00:51:41.803 に答える