php - 使用ajax从数据库实时获取数据?

标签 php mysql html ajax jquery

我正在从以下数据库获取数据:

enter image description here

我有发送该数据的arduino-box。

并使用以下 CSS 和 HTML 代码显示数据:

    <div class="event">
        <img src="http://dummyimage.com/80x70/f00/fff.png" alt="picture" />  
        <p>Room 2</p>
        <p class="patient-name">Jon Harris</p>
        <p class="event-text">This is a pixel. A flying pixel!</p>
        <p class="event-timestamp">feb 2 2011 - 23:01</p>
    </div>

.event {  
    display:block;  
    background: #ececec;  
    width:380px;  
    padding:10px;  
    margin:10px;  
    overflow:hidden;  
    text-align: left;
}  
.event img {
    display:block;
    float:left;
    margin-right:10px;
}  

.event p {  
    font-weight: bold;
}

.event img + p {
    display:inline;
}

.patient-name {
    display:inline;
    color: #999999;
    font-size: 9px;
    line-height:inherit;
    padding-left: 5px;
}
.event-text{
    color: #999999;
    font-size: 12px;
    padding-left: 5px;
}
.event-timestamp{
    color: #000;
    padding-left: 5px;
    font-size: 9px;
}

这是我的 PHP 代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <title>DASHBOARD - Arduino 3</title>
  <link rel="stylesheet" type="text/css" href="css/style.css">
</head>
<body>
    <?php
    $con = mysql_connect("localhost","*****","***");
        if(!con)
        {
            die('Could not connect: ' . mysql_error());
        }

        mysql_select_db("arduino_db",$con);

        $result = mysql_query("SELECT * FROM events");
        //Start container
        echo " <div id='background_container'> ";

        while($row = mysql_fetch_array($result))
        {
            echo "<div class='event'>";
            echo "<img src='img/ev_img/red.jpg' alt='picture' />";
            echo "<p>" . $row['inneboende'] . "</p>";
            echo "<p class='patient-name'>" . "$row['overvakare']" . "</p>";
            echo "<p class='event-text'>" . "$row['handelse']" . "</p>";
            echo "<p class='event-timestamp'>" . "$row['tid']" . "</p>";
            echo "</div>";
        }

        //end container
        echo "</div>"
        mysql_close($con);

    ?>
</body>
</html>

arduino 盒子正在向数据库发送数据..假设每 3 秒发送一次。我不想每 5 秒按一次 F5 来获取新数据。我应该为此使用 AJAX 吗?我在网上读过一些 AJAX,但没有找到任何好的内容。

最佳答案

将其放入单独的 php 文件中,例如getEvents.php:

<?php
$con = mysql_connect("localhost","*****","***");
    if(!con)
    {
        die('Could not connect: ' . mysql_error());
    }

    mysql_select_db("arduino_db",$con);

    $result = mysql_query("SELECT * FROM events");

    while($row = mysql_fetch_array($result))
    {
        echo "<div class='event'>";
        echo "<img src='img/ev_img/red.jpg' alt='picture' />";
        echo "<p>" . $row['inneboende'] . "</p>";
        echo "<p class='patient-name'>" . "$row['overvakare']" . "</p>";
        echo "<p class='event-text'>" . "$row['handelse']" . "</p>";
        echo "<p class='event-timestamp'>" . "$row['tid']" . "</p>";
        echo "</div>";
    }

    mysql_close($con);

然后,加载jquery并将以下内容放入页面头部:

<script type="text/javascript">
    $(document).ready(function() {  
        $.get('getEvents.php', function (data) {
            $('#background_container').html(data);
        });
    });
</script>

注意:这不是您应该使用的确切代码,请查看并更改它,以便它可以正常工作。

关于php - 使用ajax从数据库实时获取数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6022884/

相关文章:

php - 编辑 php 中数据库的选项值

PHP向数据库添加多行

mysql - vb.net datagridview 最后一列设置为只读

javascript - 使用 javascript 在输入字段中获取选定的下拉值而不是占位符

html - 用右边的图像环绕文字

php - 我想制作删除按钮

php - 如何替换字符串中的占位符?

mysql - BOOLEAN 的简单 MySql 条件 SELECT 查询问题

php - 存储当前日期/时间

javascript - 使用javascript在 View 中显示部分时发生动画