我正在使用php MySQL和AJAX开发一个应用程序。
我有一个带有表行和列的HTML分区。示例图片已附在此处。
http://niftyexpert.in/screen1.jpg
此屏幕只是网页的一部分。现在每当我进行修改时,我只想刷新这个单元格(蓝色和玫瑰色)。
我不想刷新整个时间表部门。
我们可以使用Gmail的实时示例。首次加载整个模块需要3到5秒。
加载后每当您从收件箱中读取邮件或删除邮件时,您都可以通知操作将发生特定行而不是整个分区。
我需要这样的解决方案。为此我还需要使用php,mysql和ajax等技术。
答案 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>