使用php mysql和ajax刷新Div中特定单元格中的数据

时间:2014-08-11 08:31:48

标签: php mysql ajax

我正在使用php MySQL和AJAX开发一个应用程序。

我有一个带有表行和列的HTML分区。示例图片已附在此处。

http://niftyexpert.in/screen1.jpg

此屏幕只是网页的一部分。现在每当我进行修改时,我只想刷新这个单元格(蓝色和玫瑰色)。

我不想刷新整个时间表部门。

我们可以使用Gmail的实时示例。首次加载整个模块需要3到5秒。

加载后每当您从收件箱中读取邮件或删除邮件时,您都可以通知操作将发生特定行而不是整个分区。

我需要这样的解决方案。为此我还需要使用php,mysql和ajax等技术。

2 个答案:

答案 0 :(得分:0)

您可以在页面请求中正常加载所有内容。所以JS和HTML以及它背后的PHP和MySQL。

然后在JS中创建一个函数setInterval(),每隔几秒轮询一次以获取更新。大多数情况下,这是最简单的PHP输出JSON数据,并使用JS来修改HTML。

的script.js

var polling = setInterval(function(){
    //AJAX GET request to web server  
    $.get("server.php", function(data){
        //on success, analyse JSON data and modify your HTML

        //for example
        if (data.cell5=='blue') 
            $('#cell5').addClass('blue');
    });

}, 5000);

server.php

<?
//Get MySQL info and your code on what you exactly want put it in an array

//for example
$arr['cell5'] = 'blue';

//output
echo(json_encode($arr));
?>

我不知道您的数据结构和HTML,因此我无法为您提供更好的示例。但是你必须设计一些方法,你可以在JS中轻松阅读需要在HTML中更改的内容。保持数据小,以便应用和数据流量很小。所以最好只改变。

答案 1 :(得分:0)

嗨,这可以使用Xajax完成。在下面的示例中,如果在“输入文本”字段中键入一些值并单击“Cick me”按钮,则值将显示在表格行(displayOutput)中,而不会重新加载整个页面。 希望这可能有用,请查看http://www.xajax-project.org/en/home/了解更多..

下载xajax文件夹并将其放在此代码的相同目录中并运行它

<?php
    #this is an  userdefined xajax function, you get values from DB in it and innerHTML in HTML
    function testXajaxExample($input)
    {
        $objectResponse=new xajaxResponse();
        $output = '<td>'.$input.'</td>';
        $objectResponse->script('document.getElementById("displayOutput").innerHTML="'.$output.'"');
        return $objectResponse;
    }

    require_once('xajax/xajax_core/xajax.inc.php');
    $xajax=new xajax();
    $xajax->registerFunction('testXajaxExample');
    $xajax->processRequest();
    $xajax->printJavascript('xajax/');
?>
<html>
    <head>
        <title>Xajax Example</title>
        <script>
            function hello()
            {
                var input = document.getElementById("inputBox").value;
                xajax_testXajaxExample(input);
            }
        </script>
    </head>
    <body>
        <div>
            <form id="exampleForm" name="exampleForm">
                <table>
                    <tr align="center">
                        <td>Input text</td>
                        <td>
                            <input type="text" id="inputBox" name="outputBox">                          
                        </td>
                        <td>
                            <input type="button" id="clickMe" name="clickMe" value="Click Me" onclick="hello()">
                        </td>
                    </tr>
                    <tr id="displayOutput"></tr>
                </table>
            </form>
        </div>
    </body>
</html>