如果找不到多个硬件,请从列表中删除所有值

时间:2014-04-04 21:25:06

标签: php mysql arrays sql-delete

我正在尝试执行以下操作:

如果在阵列'硬件'中找不到ID,请删除硬件阵列中不存在ID的所有值。

我遇到的问题是,我可以使用以下方法一次删除一个值:

foreach ($this->hardware AS $hardware){
   if(!in_array($hardware['ID'],$hardwareList)){  // checks if hardware id is not on the hardware list
     $query = 'DELETE FROM hardware_map WHERE ID='.$hardware['ID'];
     $db->setQuery( $query );
     $result = $db->loadResult();
   }
}

如果我在textarea字段中一次删除所有值,它将不会删除多个值。

<textarea id="hardwareTextArea" name="hardwareTextArea"><?php
  foreach($this->hardware AS $hardware){
    echo $hardware['name']."\n";
?></textarea>

如果我删除了textarea中的所有值,那么对于如何从列表中删除多个值的任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:1)

您可以先找到要删除它们的ID,然后使用IN:

使用一个查询
DELETE FROM hardware_map WHERE ID IN (id1,id2, ...)