php - Ajax、PHP、MySQL 检索数据

标签 php jquery mysql ajax scripting

我正在尝试从特定DIV中的mysql服务器自动检索数据,而无需手动刷新网页。

我的 PHP 代码是:

function lastCodes(){
    include('mysql.php');
    include('config.php');

echo "<div id='content_data'>";

    $get = mysql_query("SELECT * FROM scripts ORDER by date_added DESC");
    if(mysql_num_rows($get)>0){
        while($row = mysql_fetch_assoc($get)){

            $get2 = mysql_query("SELECT * FROM accounts WHERE username = '$row[s_owner]'");
                while($red = mysql_fetch_assoc($get2)){

            echo "<table>
                        <tr>
                                <td width='22px'>";
                        if(!empty($red['avatar'])){
                            echo "<center>
                                        <img src='$red[avatar]' style='width: 52px; height: 52px; margin-left: -30px; border: 2px solid #fff;' title='$row[s_owner]'/>
                                    </center>
                                </td>";
                        } else {
                            echo "<td width='22px'>
                                        <center>
                                            <img src='/theme/$tema/icons/empty_avatar.png' style='width: 52px; height: 52px;' title='$row[s_owner]'/>
                                        </center>
                                    </td>";
                        }       

            echo "<td>
                        <a style='font-family: IndexName; color: #000; font-size: 14px; margin-left: 5px;'><b>$row[s_owner]</b> написа <a title='$row[s_name], Категория: $row[s_category].' href='#' style='text-decoration: none;'>нов код</a> <a style='font-family: IndexName; color: #000; font-size: 14px; margin-right: 10px;'>в $row[date_added]</a>
                    </td>
                    </tr>
                    </table>";

        }

        }

    }

echo "</div>";

}

如果我想以 5 秒的间隔检索 DIV 中名为“content_data”的信息,那么 jquery/ajax 代码应该是什么?非常感谢!

最佳答案

您可以将 lastCodes() 函数的内容放入一个空的 PHP 文件中,我们将其称为 lastCodes.php。

然后在要检索数据的页面上使用 JQuery 的加载函数

<div id="divTarget"></div>
<script type="text/javascript">
    $("#divTarget").load("lastCodes.php");
</script>

但请记住,这种编码方式很快就会变得困惑。我建议您尝试任何可用的出色模板系统。对于干净的代码来说这不是必需的,但是如果没有干净的代码,您将需要一些纪律来将逻辑保留在您的 View 代码之外。

当您对其中一个感到满意时,您可以进一步尝试使用 Javascript 在前端使用模板系统,例如 Handlebars。使用其中之一,您将能够编写干净的代码并使用 JSON 发送数据,这将降低 HTTP 响应的大小,同时使数据比简单地将其呈现为 HTML 更适用于其他场景。

编辑:每 5 秒更新一次数据:

<script type="text/javascript">
  window.setInterval(function() {    
     $("#divTarget").load("lastCodes.php");
  }, 5000);
</script>

关于php - Ajax、PHP、MySQL 检索数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11705518/

相关文章:

php - 拉取列表的 MailChimp PHP 脚本

php - 嵌套查询无法正确获取数据

javascript - TypeError : $. ajax(...).done(...).fail(...).complete 不是函数

php - UTF-8贯穿始终

javascript - 在 Javascript 中解码从 PHP 检索的 json 对象

php - Facebook : OAuthException: (#200) Must have a valid access_token to access this endpoint

javascript - 使用从右到左的语言时,有没有办法切换左右 css 值?

javascript - CircleType 文本在 rotateY 之后删除空格

mysql - 基于条件的不同sql 超过两列

mysql - 在 Sails js 模型中定义关系后,是否需要在数据库中创建显式关系?