2011-04-08 26 views
0

嗯...蹩脚的问题,但我不知道怎么这句话:测试值的记录,以排除

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

到目前为止这么好。

当涉及到编辑项目时,我可以很容易地填充已经应用的类别列表。

现在我想填充那些已经应用到该项目的类别列表。这是我卡住的地方。

例如如果26个类别的列表匹配字母表中的每个字母(为了方便起见),并且该项目已经应用了类别BD和E,那么我怎样才能显示类别A,C,F,H,I等,而不应用那些。

我不想通过列表中每个类别项目的应用类别数组来进行lpop - 看起来像是浪费资源。

有没有办法使用array_search类型的函数?

我希望这是有道理的,不要过于复杂。

回答

1

你不能做到这一点的?:SQL

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

唉唉......当有人指出明显的那么容易。谢谢AJweb。 – Steve 2011-04-08 11:28:02

0

不明白。

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

这有帮助吗?