我有一个数据库中有2列的表名称|年龄,我将其显示在HTML页面中。PHP和Javascript之间的沟通
我想在用户点击它时根据字段对HTML页中的表进行排序。
我有一个PHP函数来根据字段进行排序。
但是,在PHP中按照排序顺序获取行之后,我正在寻找可以更新HTML表格的方式,而无需从页面导航。
我有一个数据库中有2列的表名称|年龄,我将其显示在HTML页面中。PHP和Javascript之间的沟通
我想在用户点击它时根据字段对HTML页中的表进行排序。
我有一个PHP函数来根据字段进行排序。
但是,在PHP中按照排序顺序获取行之后,我正在寻找可以更新HTML表格的方式,而无需从页面导航。
你可以在javascript中进行排序,而不必与服务器通信。
function sortTable(table, column, skipHeader) {
// Stick each row into an array.
var rows = [];
for (var i = skipHeader ? 1 : 0; i < table.rows.length; i++) {
rows.push(table.rows[i]);
}
// Sort the array based on the innerText of the column'th cell in each row
rows.sort(function(a, b){
a = a.cells[column].innerText;
b = b.cells[column].innerText;
return a < b ? -1 : (b < a ? 1 : 0);
});
// Re-order the rows by removing/appending in the sort order
for (var i = 0; i < rows.length; i++) {
var row = rows[i];
var container = row.parentElement;
container.removeChild(row);
container.appendChild(row);
}
}
例如,到第一表进行排序在文档中,在第一列上,并跳过标题行::例如,该代码将根据第N列的内容进行排序的表
sortTable(document.getElementsByTagName('table')[0], 0, true);
很明显,你会想要修改这个以适应你自己的口味,特别是排序,但它比把数据发回服务器要简单很多,我认为这是你提出的。
这里是一个链接到一个JavaScript库,使JavaScript的使用PHP的,而不是你的表格排序。我用过很多次,效果很好。
既然别人已经覆盖了该客户端的排序会工作得很好这里的事实,我就点你与我有过的最sucess做这种事情的资源: Google Data Tables,它们的一部分Visualization Library。 Here are the deets你可以做什么(剧透:你想要的一切和更多)。
AJAX是如何在PHP和Javascript之间进行通信的,但是如果你想节省麻烦,就有用于排序表的Javascript函数; PHP不是必需的。 – Jake 2011-01-13 17:40:39