répétition automatique d'un script php
-
10-10-2019 - |
Question
je voudrais demander comment puis-je faire un script php qui fait écho à l'identifiant des données stockées dans une répétition de la base de données elle-même après le temps spécifique par exemple après 2 minutes.I ne veulent pas utiliser une tâche cron ou un autre planificateur .just php ou javascript implemantation.Thanks à l'avance ..
La solution
Je l'ai fait similaire avec ce script. Bien que l'utilisateur se trouve sur la page, il fonctionne scriptToRun.php
toutes les 2 minutes.
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
Autres conseils
Autre à @JMC Creative (autonome pour l'amour de exemple):
<?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>
Pourquoi ne pas le faire cela?
<?php
header('refresh: 600; url=http://www.yourhost.com/yourscript.php');
//script here
?>
Si votre génération de votre ID au hasard dans le script ... cela fonctionnera bien. La page se rafraîchir toutes les 10 minutes.