Есть две таблицы, одинаковым полем "id_good" (артикул товара там -т.е. цифры)
Нужно, при условии:
если в обоих таблицах есть одинаковые значения поля "id_good", выставлять в той же строке значение поля "active" - 1(выше в коде я прописал обнуление этому полю
$query = " UPDATE
`catalog_goods`
SET
`active`='0'
";
если и этот код не верный...ткните плиз)
Помогите пожалуйста правильно составить запрос, а точнее использовать функцию или оператора.
И по ходу пьесы, вопросец второй: как отличить цикл от запроса к Базе Данных?В чем отличительные особенности? Только ногами не бейте)
Спустя 1 час, 22 минуты, 40 секунд (27.06.2012 - 18:28) rooor написал(а):
по запросу на обнуление - надо указать где именно обнулять, т.е. в запрос добавить WHERE
Цитата |
как отличить цикл от запроса к Базе Данных? |
запрос к базе - mysql_query("тут собсно сам запрос");
цикл - while, for, foreach и т.д.
Спустя 2 минуты, 50 секунд (27.06.2012 - 18:31) S-17 написал(а):
Цитата (rooor @ 27.06.2012 - 15:28) |
по запросу на обнуление - надо указать где именно обнулять, т.е. в запрос добавить WHERE |
то бишь проканает родной UPDATE?))
$query = "UPDATE
`still_park_mapping`,`catalog_goods`
SET
`active`='1'
WHERE
`id_good`=`id_good`";
Правильно ли я составил код?(обновлять буду каталог_гудс)
Спустя 13 минут, 53 секунды (27.06.2012 - 18:45) rooor написал(а):
вот тебе примеры запросов, подгони под себя:
1.
2.
1.
mysql_query("UPDATE `catalog_goods` SET `active`='1' WHERE `id_good`= (SELECT `id_good` FROM `still_park_mapping`)");
2.
$sql = mysql_query("SELECT `id_good` FROM `still_park_mapping`"); // добавить условие, если оно есть
if(mysql_num_rows($sql))
{
while($res = mysql_fetch_assoc($sql))
{
mysql_query("UPDATE `catalog_goods` SET `active`='1' WHERE `id_good`= ".(int)$res['id_good']);
}
}