Javascript 隐藏表A中出现在表B中的行
我有表(员工)A: 和表(雇员)B: 那些人是我的“雇员”。表B中的姓名是我数据库中的所有员工,表A中的姓名是我分配给1号项目的所有员工 我想隐藏表B中已经出现在表A中的所有姓名,因为我不想将同一名员工重新分配给项目1Javascript 隐藏表A中出现在表B中的行,javascript,java,jquery,html,Javascript,Java,Jquery,Html,我有表(员工)A: 和表(雇员)B: 那些人是我的“雇员”。表B中的姓名是我数据库中的所有员工,表A中的姓名是我分配给1号项目的所有员工 我想隐藏表B中已经出现在表A中的所有姓名,因为我不想将同一名员工重新分配给项目1 如何使用jQuery解决此问题?客户端检查将是: function compareLists(listA, listB){ var resultList = []; listA.forEach(function(itemA){ listB.forEach(fun
如何使用jQuery解决此问题?客户端检查将是:
function compareLists(listA, listB){
var resultList = [];
listA.forEach(function(itemA){
listB.forEach(function(itemB){
if (itemB.name !== itemA.name)resultList.push(itemB);
}
}
return resultList;
}
或在服务器端(数据库):
问候语通常,您应该在服务器端使用前面回答的
SQL
进行问候。但是,因为您询问了javascript。这是在客户端对其进行过滤的方法:
//collect list of names in A
var table = document.getElementById("TableA");
var names = []
for (var i = 0, row; row = table.rows[i]; i++) {
names.push(row.celss[1]);
}
//check names in B
table = document.getElementById("TableB");
for (var i = 0, row; row = table.rows[i]; i++) {
if(jQuery.inArray(row.cells[1], names) !== -1){
//show row
}else{
//hide row
}
}
我在Jquery方面没有那么多知识 但是这个查询提高了大型数据库中的性能
SELECT
FROM TableB
LEFT JOIN TableA ON TableB.name=TableA.name // id will be better than name
WHERE TableB.name IS NULL
希望这有帮助您希望在客户端对其进行排序吗?嗯,您以前有没有尝试与我们分享过?我强烈建议你先自己解决这个问题,因为这样你会学到更多。
select * from table_b where name not in (select name from table_a)
//collect list of names in A
var table = document.getElementById("TableA");
var names = []
for (var i = 0, row; row = table.rows[i]; i++) {
names.push(row.celss[1]);
}
//check names in B
table = document.getElementById("TableB");
for (var i = 0, row; row = table.rows[i]; i++) {
if(jQuery.inArray(row.cells[1], names) !== -1){
//show row
}else{
//hide row
}
}
SELECT
FROM TableB
LEFT JOIN TableA ON TableB.name=TableA.name // id will be better than name
WHERE TableB.name IS NULL