显示数据库内容? PHP / MySQL

时间:2009-04-07 13:04:05

标签: php mysql chat

所以我有一个聊天室类型的数据库,其中用户插入的文本作为一个字段中的用户名存储在数据库中,而另一个字段中的消息存储在数据库中。我希望我的页面输出数据库信息,以便人们可以看到彼此的消息。 我该怎么做?

此外,是否可以创建一个for循环来检查数据库是否已使用新消息进行更新,因此它会重新加载页面? (然后页面再次输出数据库信息以更新每个消息)

请帮忙..我很困惑。

3 个答案:

答案 0 :(得分:2)

在PHP手册中查看MySQL functions。您需要连接到服务器/数据库并运行select查询以从表中获取数据。

至于循环:您可以使用JavaScript setInterval函数并将其与AJAX调用相结合,以定期轮询新记录。

答案 1 :(得分:0)

  1. 要从mysql数据库中读取任何内容,您可以使用mysql_connect()mysql_query()函数 例如:
  2. $link = mysql_connect('localhost', 'root', '');
    $results = mysql_query('select * from messages');
    
    while($row = mysql_fetch_array($results))
    {
        echo $row['username'] . ': ' . $row['message'].'<br />';
    }
    
    1. 要显示新消息,最好的方法是使用AJAX并从那里轮询数据库,或者将单独的页面加载到DIV中,或者将XML返回并放入HTML标记中。我建议使用JQuery来完成这些任务。请查看http://www.sitepoint.com/article/ajax-jquery/以获取示例。

答案 2 :(得分:0)

与其他人所说的一样,您将需要连接到您的数据库,然后查询您拥有数据的表。

while($row = mysql_fetch_assoc($results))
{
    echo $row['username'] . " said: " . $row['message'] . "<br />";
}

我使用mysql_fetch_assoc()而不是mysql_fetch_array(),因为数组是关联数组(不是由整数索引,而是由名称(关联)索引)

至于动态显示页面上的更新,涉及AJAX。基本上这意味着您的页面将调用后台脚本以从数据库中获取新记录。这需要在“消息”表中添加一个新字段,例如“msg_delivered”,您可以在获取时将其设置为“1”。

如果您对制作AJAX聊天客户端感兴趣,请查看此内容:http://htmltimes.com/javascript-chat-client-in-jquery.php