Javascript 每5分钟检索下一行数据

Javascript 每5分钟检索下一行数据,javascript,php,Javascript,Php,我的数据库表中有数据行, 如何显示 第一行ID 1, 第2排5分钟后, 5分钟后,第3排 等等,自动地 该网页将每隔5分钟自动检索下一行,并仅显示该行。 有点像每5分钟刷新一次,但显示下一行而不是最近一行 下面是我的代码: <html> <head> <style> #main { margin:5% 15% 10% 15%; background:

我的数据库表中有数据行, 如何显示

第一行ID 1, 第2排5分钟后, 5分钟后,第3排 等等,自动地

该网页将每隔5分钟自动检索下一行,并仅显示该行。 有点像每5分钟刷新一次,但显示下一行而不是最近一行

下面是我的代码:

<html>
    <head>
        <style>
            #main {
                margin:5% 15% 10% 15%;
                background:url(viewBG.png);
                width:70%;
                height:80%;
            }
            p {
                padding:20% 20% 20% 20%;
                color:white;
                font-family: Honey Script;
                font-size:30pt;
            }
            body {
                background-color: skyblue;
            }
        </style>
    </head>

    <body>
        <?php
            //connection to 
            require 'config.php';

            $conn = mysqli_connect( $db_host, $db_username, $db_password, $db_name);

            // Create connection
            if ($conn->connect_error) {
                die("Connection failed: " . $conn->connect_error);
            } 

            //$sql = "SELECT * FROM `demo` ORDER BY `ID` DESC ";
            $sql = "SELECT Comment FROM demo ORDER BY ID DESC LIMIT 1";
            $result = $conn->query($sql);

            if ($result->num_rows > 0) {
                // output data of each row
                while($row = $result->fetch_assoc()) {
                    echo '<div id="main">';
                    echo '  <p>"'.$row["Comment"].'"</p>';
                    echo "</div>";
                }

            } else {
                    echo "0 results";
                }
        $conn->close();        
        ?>
    </body>
</html>

您必须在解决方案中结合javascript。让您的php脚本在下一行检索带有参数的表单,让我们在php中这样说:

    <?php
        if (isset($_REQUEST["next_row"])) { 
            $myrow = $_REQUEST["next_row"]; 
        } else {
            $myrow = 0;
        }

        echo '<form id=myform> <input type=hidden name="next_row" value="'.($myrow * 1 + 1).'"> </form>';
        //connection to 
        require 'config.php';

        $conn = mysqli_connect( $db_host, $db_username, $db_password, $db_name);

        // Create connection
        if ($conn->connect_error) {
            die("Connection failed: " . $conn->connect_error);
        } 

        //$sql = "SELECT * FROM `demo` ORDER BY `ID` DESC ";
        $sql = "SELECT Comment FROM demo ORDER BY ID DESC LIMIT 1 OFFSET ". $myrow;
        $result = $conn->query($sql);

        if ($result->num_rows > 0) {
            // output data of each row
            while($row = $result->fetch_assoc()) {
                echo '<div id="main">';
                echo '  <p>"'.$row["Comment"].'"</p>';
                echo "</div>";
            }

        } else {
                echo "0 results";
            }
    $conn->close();        
    ?>
好了,现在在Javascript页面的末尾,以下代码一定要包括jquery.js:


setTimeoutfunction{$'myform'.submit;},300000

内容是否被新内容替换?或者附加到旧内容?你运行了吗?这个代码怎么了?您得到了什么结果?只是一个建议,向表中添加一个新字段,如“show_status”,默认值为0。每次添加一行时,将其值更新为1。然后将查询修改为:SELECT Comment FROM demo,其中show_status=0 ORDER BY ID DESC LIMIT 1您将需要获取所有行,隐藏它们,并在每个行之间旋转。或者只获取一行,然后使用ajax获取下一行。任何一个都需要一些javascript,在这里询问之前您甚至都没有尝试过。所以,请花些时间尝试一些东西,如果需要帮助,请回来。@sean那么这是如何编写的呢?此代码仅重新加载并显示最新的。不是下一行你可以做任何你想做的事情,在这种情况下你可能不想提交你可能想使用ajax,或者在加载页面时使用javascript淡入,并在提交前在settimeout内淡出。我建议用白色或黑色的覆盖层。哦,是的,颜色仅供试用,准备好后我会更换。所以fadein和out计时器在setTimeoutfunction{$'myform'.submit;},300000;?很抱歉,您需要从条件中删除-1。淡出的代码将在超时范围内:setTimeoutfunction{function_to_淡出;$'myform'.submit;},300000;