Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Базы Данных > Удаление из таблице нескольктх позиций


Автор: MaliceInWonderland 19.6.2007, 17:40
в переменной $SQL хранится массив неопределенного размера. 
Нужно сравнить переменную id со всеми значения этого массива и выполнить запрос level. 
Какой должен быть синтаксис нижеследующей строке??
Код

$level= "delete from catalogue where id in ($SQL)"; 


Автор: sTa1kEr 19.6.2007, 17:45
Код

$level= "delete from catalogue where id in (".implode(",", $SQL).")";

Автор: MaliceInWonderland 20.6.2007, 08:18
спасибо. 
Цитата(sTa1kEr @ 19.6.2007,  17:45)
Код

$level= "delete from catalogue where id in (".implode(",", $SQL).")";

Код

$new =   "select * from tree where [здесь вложенные запросы]";
$r = mysql_query($new);    
for($result = array(); $row = mysql_fetch_assoc($r) ;)     $result[] = $row['id'];  /// одномерный массив
$result  = empty($result) ? "()" : ("('". implode("','", $result) ."')");
$query = "UPDATE tree  SET status  = 'off'  WHERE id in $result";

так работает.





Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)