开发者

autorepeat a php script

i would like to ask how can i make a php script which echoes the id of the data stored in a database repeat itself after specific time for example after 2 minutes.i don't want to use a cron job or another scheduler.Just php or javascript implemantation.Thanks in advance.开发者_如何学C.


I've done similar with this script. While the user is on the page, it runs scriptToRun.php every 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


Alternate to @JMC Creative (Self-contained for example's sake):

<?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>


Why not just do this?

<?php
header('refresh: 600; url=http://www.yourhost.com/yourscript.php');

//script here
?>

If your generating your ID at random from within the script...this will work fine. The page will refresh itself every 10 minutes.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜