背景:我们正在启动一个将由来自不同大学的学生参加的活动。一个网络应用程序会报告参加活动的学生人数。实时更新Web系统 - Ajax,PHP,MySQL
基本的网络布局
我希望所需的布局是明确的。这需要每5分钟刷新一次,以便在新学生注册时显示。我使用Ajax setTimeout()方法完成了刷新部分 。我有表Student
。我使用的查询是:
SELECT UNIV, STUDENT_NAME, STUDENT_EMAIL
FROM STUDENT
ORDER BY UNIV;
然而,主要的问题是确定时,在表中添加新行和显示细节 问题1:目前,我在做什么是有$currUniv
变量,它是指大学的当前价值。如果$currUniv
值和当前行获取的不匹配,我创建一个新的行
代码:在updater.php
function updateTable()
{
$currUniv = "";
while($currLine = mysql_fetch_array($results))
{
if (strcmp($currLine[0], $currUniv) != 0)
{
responseHTML .= "<tr id = \"{$currLine[0]}\">";
responseHTML .= "<td id = \"{$GLOBALS["univ"]}\">";
responseHTML .= "{$currLine[0]}";
responseHTML .= "</td>";
$currUniv = $currLine[0];
}
responseHTML .= "<td id = \"{$GLOBALS["studentname"]}\">";
responseHTML .= "{$currLine[1]}";
responseHTML .= "</td>";
responseHTML .= "<td id = \"{$GLOBALS["studentemail"]}\">";
responseHTML /= "{$currLine[2]}";
responseHTML .= "</td>";
if (strcmp($currLine[0], $currUniv) != 0)
{
responseHTML .= "</tr>";
}
}
}
首先,不显示表。我不认为这是创建表格的最佳算法。任何人都可以提出任何其他方法来实现相同?
问题是我无法将新记录附加到表中的现有行。即假设有一个新的用户记录进入A大学,我使用'tr id =“A”'标记将新记录附加到表中,最终在HTML静态内创建一个新行。 – 2011-04-28 12:45:13