使用php自动增加LIMIT

时间:2014-09-10 01:35:21

标签: php mysql

我希望每当用户点击提交时我的限制都会自动递增,因此该值将会更新,并且用户将看到他发送的先前消息,这是我的代码:

if(isset($_POST['text']))
{
$counter =1;
$message = mysqli_real_escape_string($con,$_POST['text']);
if(!empty($message))
    {
        $id = $_SESSION['id'];
        $time = time();
        $date = date('Y-m-d H:i:s', $time);
        $query = "INSERT INTO tbl_chat(time_sent,message_text,users_id) VALUES('$date','$message','$id')";
        mysqli_query($con,$query);
        $query = "SELECT TIME(time_sent)AS time_sent, i.users_fname, c.message_text FROM tbl_usersinfo AS i INNER JOIN tbl_chat AS c ON 
                                i.users_id = c.users_id ORDER BY c.time_sent DESC LIMIT $counter";
        $counter++;
        if($run_query = mysqli_query($con,$query))
        {
            while($row = mysqli_fetch_assoc($run_query))
            {
            $time_sent = $row['time_sent'];
            $users_fname = $row['users_fname'];
            $message_text = $row['message_text'];
            echo '['.$time_sent.']'.$users_fname.': '.$message_text.'<br/>';
            }
        }
    }
}

我的代码的问题是sql只读取计数器的值为1,因此它不会回显用户发送的先前消息。有可能用PHP自动增加限制吗?

1 个答案:

答案 0 :(得分:0)

每次重新加载页面时,$ counter变量的值都将分配给1。 您可以使用$ _SESSION或$ _COOKIE变量来存储计数器并增加$ _SESSION / $ _ COOKIE变量。

N.B:在设置$ _SESSION / $ _ COOKIE变量之前,检查它是否已经设置。如果已设置,请不要再次设置。