Я хотел бы спросить, как я могу сделать php-скрипт, который перекликается с идентификатором данных, хранящихся в базе данных, повторно повторяющимся после определенного времени, например, через 2 минуты. I не хочу использовать cron работу или другой планировщик. Просто php или javascript implmantation. Спасибо заранее.autorepeat php script
ответ
Я сделал схожую с этим скриптом. Пока пользователь находится на странице, он запускает 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
Предполагается, что он использует JQuery. – dqhendricks
У вас нет проблем с jquery. Сценарий ScriptToRun.php вы упоминаете сам сценарий или имя другого скрипта ??? – olaf36
Нет, 'scriptToRun.php' - еще один скрипт, который живет на сервере. Единственная цель - получить новый идентификатор канала и повторить его обратно. – JakeParis
Альтернативные к @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>
Почему бы просто не сделать это?
<?php
header('refresh: 600; url=http://www.yourhost.com/yourscript.php');
//script here
?>
Если вы произвольно генерируете свой идентификатор изнутри скрипта ... это будет работать нормально. Страница будет обновляться каждые 10 минут.
Если это должно быть в порядке или что-то использовать '$ _SESSION ['id'] = LASTID', когда страница обновляется, у вас все еще есть свой последний идентификатор, который вы использовали –
Почему вы не хотите использовать работу cron? – DTest
, если вам просто нужна страница для автоматической перезагрузки: [meta refresh] (http://en.wikipedia.org/wiki/Meta_refresh). Если это не то, что вам нужно, уточните свой вопрос. – drudge
Честно говоря, я не знаю, как его использовать. Но это не причина !!! Я предпочитаю реализовать это в php или javascript ... – olaf36