автоповтор php скрипт - PullRequest
       4

автоповтор php скрипт

1 голос
/ 12 января 2011

Я хотел бы спросить, как я могу создать скрипт php, который повторяет идентификатор данных, хранящихся в базе данных, повторяться через определенное время, например, через 2 минуты. Я не хочу использовать задание cron или другой планировщик . Просто реализация php или javascript. Заранее спасибо.

Ответы [ 3 ]

3 голосов
/ 12 января 2011

Я сделал подобное с этим скриптом. Пока пользователь находится на странице, он запускает 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
1 голос
/ 12 января 2011

Почему бы просто не сделать это?

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

//script here
?>

Если вы генерируете свой идентификатор случайным образом из скрипта ... это будет работать нормально. Страница обновляется каждые 10 минут.

1 голос
/ 12 января 2011

Альтернатива @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>
...