嗯。。。这个问题很糟糕,但我不知道该怎么说:
我有一个可爱的jquery拖放页面,有人可以将所有类别的列表中的类别名称拖放到一个项目中。然后将其保存在具有itemID和categoryID的数据库查找表中。
到目前为止还不错。
当涉及到编辑项目时,我可以很容易地填充已经应用的类别列表。
现在,我想填充类别列表,忽略那些已经应用于项目的类别。这就是我陷入困境的地方。
例如,如果26个类别的列表与字母表中的每个字母匹配(为了方便起见(,并且该项目已经应用了类别B、D和e,那么我如何才能只显示类别A、C、F、H、I等,而不显示应用的类别。
我不想为列表中的每个类别项都遍历应用的类别数组——这似乎是浪费资源。
有没有办法使用array_search类型函数?
我希望这是合理的,不要过于复杂。
你不能在SQL中完成吗?:
SELECT category_id FROM categories WHERE category_id NOT IN (SELECT category_id FROM items WHERE item_id = x);
不明白。
$item_cats = array('B','D','E');
$cats = array('A','B','C','D','E','F','G');
print_r(array_diff($cats, $item_cats));
这有帮助吗?