2016-01-04 1 views
0

Я занимаюсь изучением PHP как хобби, и сегодня я столкнулся с чем-то, что, по моему мнению, было легко сделать.Если у вас есть 0 "ИЛИ" нет 0 на PHP

Во-первых, я беру всю информацию из файла XML, а затем обновляю всю информацию о запасах, но только если продукт присутствует в файле, проблема здесь в том, что продукт отсутствует в файле, который продукт не может обновляться, и запас будет сохранен.

Примером этой проблемы является то, что когда я импортирую продукты из XML, и этого больше нет, потому что производитель прекратит его производство, я сохраню запас в базе данных, даже если продукт не продается больше.

Так что мне нужно установить 0 мой запас, если продукт больше не доступен в XML-файле, я написал это уже, но как добавить логического оператора или что-то подобное, чтобы установить мой запас в 0, если нет представить продукт больше в файле?

$item1 = array('Category' => (ucwords (mb_strtolower ($rec1[1], "iso-8859-1"))), 'SKU2' => $rec2[1], 'SKU' => $rec3[1], 'Name' => (ucwords (mb_strtolower ($rec4[1],'iso-8859-1'))), 'Price' => $price, 'Wholesale' => $wholesalepr, 'Stock' => $stockgdl, 'Image' => $rec5[1], 'Brand' => (ucwords (mb_strtolower ($rec9[1], "iso-8859-1"))), 'Subcategory' => (ucwords (mb_strtolower ($rec12[1], "iso-8859-1")))); 

if($item1['Stock']>0) 
{ 
    $out_of_stock="2"; 
    $quantity = $item1['Stock']; 
} 
else 
{ 
    $out_of_stock="0"; 
    $quantity = "0"; 
} 

ответ

0

Проще всего было бы создать массив обновленных элементов

$updatedItems[] = sprintf("'%d'", $item['id']); 
// Or whatever identifier you are using, I formatted ids to be used in DB IN query, use %s if id is a string 

когда у вас есть все из них вы создаете строку, которую можно использовать в БД запроса

$itemsAsString = implode(',', $updatedItems); 

а затем добавьте это в запрос db, например

DELETE FROM table WHERE id IN ($itemsAsString) // Again change what needs to be changed