如何从mysql返回的数据集中存储最高自动递增id的值

时间:2015-03-20 10:12:19

标签: php mysqli

我试图从返回的MYSQL查询中获取auto_incrementing id的最高值。

基本上我已经从名为chat的表中返回了最后10条记录。这些是用户提交的聊天消息,每个消息都分配了一个auto_incremented id。

因此,如果我返回要在聊天窗口中显示的最后10条消息,那么我打算使用AJAX加载一个再次查询数据库的php脚本(可能每秒一次)。这次显示ID大于最高ID的所有聊天消息,以便聊天自动刷新。

我打算在$ _SESSION [“latest_chat_id”]中存储第一个聊天块中最高的'id'。然后我将查询mysql ... select * from chat where id> '{$ _SESSION [ “latest_chat_id”]}'。

返回MYSQL结果并从新返回的数据中更新$ _SESSION [“latest_chat_id”]。

此后每秒调用此脚本以继续使用新聊天消息更新聊天窗口。

我的问题是如何从第一个结果集中获取最高id的值。我的代码如下......

<?php include("../database/connect.php");

      $query1 = "SELECT * FROM chat ORDER BY message_id DESC LIMIT 10";

      $result1 = mysqli_query($connection, $query1); ?>

         <div class="chatbox">
    <ul>    
    <?php

     while($chat_row = mysqli_fetch_assoc($result1)) { ?>

    <li><?php echo $chat_row["message_id"] . "  " . $chat_row["message"] . " " .        $chat_row["message_test"] ; ?></li>
    <?php   
        }
    ?>

我应该再做一次查询,例如......

$ query =“SELECT message_id FROM chat ORDER BY message_id DESC LIMIT 1”;

或者我可以从第一个返回的数据集中访问此值吗?

谢谢,

罗布

0 个答案:

没有答案