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

如果在“硬件”阵列中找不到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删除所有值,那么如何一次从列表中删除多个值,将对您有所帮助。

最佳答案

您可以先找到要删除的ID,然后使用IN进行一个查询:

DELETE FROM hardware_map WHERE ID IN (id1,id2, ...)

关于php - 如果找不到多个硬件,请从列表中删除所有值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22873299/

10-10 04:32