测试记录集以排除值

时间:2011-04-08 08:14:04

标签: php jquery arrays

嗯...糟糕的问题,但我不知道该怎么说:

我有一个甜蜜的jquery拖放页面,有人可以将类别名称从所有类别的列表中删除到项目上。然后将其保存在带有itemID和categoryID的db查找表中。

到目前为止一切顺利。

在编辑项目时,我可以轻松填充已经应用的类别列表。

现在我想填充类别列表,省略已经应用于项目的类别。这就是我被困住的地方。

e.g。如果26个类别的列表与字母表中的每个字母匹配(为了简化这一点)并且该项目已经应用了类别BD和E,那么我怎样才能显示类别A,C,F,H,I等,而不是应用的。

我不想为列表中的每个类别项目浏览应用的类别数组 - 似乎浪费资源。

有没有办法使用和array_search类型的功能?

我希望这不会过于复杂。

2 个答案:

答案 0 :(得分:1)

你不能在SQL中做到吗?:

SELECT category_id FROM categories WHERE category_id NOT IN (SELECT category_id FROM items WHERE item_id = x);

答案 1 :(得分:0)

不明白。

$item_cats = array('B','D','E');
$cats = array('A','B','C','D','E','F','G');
print_r(array_diff($cats, $item_cats));

这有帮助吗?