如何每5分钟重复一次mysql查询?

时间:2016-02-27 18:16:16

标签: javascript php mysql

我有一个如下所示的SQL查询:

<?php
    include("settings.php");

    $sql = conn->query("SELECT * FROM table LIMIT 1");

    $content = $sql->fetch_assoc();

    $id = $content['id'];

    /* PHP Operations here. */
    ?>

现在,我想能够重复这个sql查询每个让我们说5分钟,因为表格内容会改变。我怎样才能做到这一点?有没有办法在javascript或ajax脚本中执行sql请求?

3 个答案:

答案 0 :(得分:2)

如果您只想刷新内容,请在settimeout()中使用AJAX调用。

答案 1 :(得分:0)

解决方案

使用cron作业。如果您显示的文件是&#34; /var/www/some/file.php"然后只需执行以下作为运行Web服务器的用户(例如,&#34; www-data&#34;或&#34; apache&#34;):

<LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="vertical">
        <ScrollView
                android:id="@+id/scrollView1"
                android:fillViewport="true"
                android:layout_width="match_parent"
                android:layout_height="wrap_content" >
                    <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:padding="10dp"
                    android:text="mytexts"
                    android:textAppearance="?android:attr/textAppearanceSmall"
                    />
        </ScrollView>
</LinearLayout>

假设

  • 您正在使用Linux。
  • 你正在使用apache httpd。

背景

PHP Web应用程序是PHP脚本,由Web服务器运行以响应HTTP请求。你需要的是运行PHP脚本而不是响应HTTP请求,而是响应时间事件,比如说,自上次运行以来已经过了5分钟。

答案 2 :(得分:0)

嗯,根据Q&amp; A,真正的问题会有这样的解决方案:

文件

  1. 您有一个用户直接请求的PHP文件,我将其称为“/index.php”,位于“/var/www/index.php”。这有页面和一些javascript的介绍。
  2. 您有第二个间接请求的PHP文件,我将其称为“/bg.php”,位于“/var/www/bg.php”。此文件的内容仅包含更新数据库并返回javascript代码或其他内容的例程。
  3. 的index.php

    在这里你会有这样的事情:

    <script type="text/javascript">
    /* Have jquery included before */
    
    function poll_the_server(){
        /* Get the data from the server with ajax */
      var jqxhr = $.ajax( "/bg.php" )
        .always(function(){
             /* Prepare the next run */
            setTimeout(poll_the_server, 300);
          })
        .done(function(){
            /* Succeded: Do whatever you want with your data */
          })
        .fail(function(){
            /* Error: you may ask the user what to do */
          });
    }
    
      /* Do the first call */
    setTimeout(poll_the_server, 300);
    </script>
    

    修改

    参考

    http://api.jquery.com/jquery.ajax/