koreets2011
Full Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Добрый день. Код: foreach ($gds as $key=>$value) { $result = mysqli_query($con,"SELECT COUNT(*) AS COLL FROM `STOCK` WHERE `NOMENCLATURE` = '".$value[0]."'"); $order_coll = (int)$value[1]; while($row = mysqli_fetch_array($result)) { $stock_coll = (int)$row['COLL']; } // Проверяем запрошенное кол-во с имеющимся на складе if($order_coll > $stock_coll){ echo json_encode('Позиция № '.$value[0].' в колличестве '.$order_coll.'шт отсутствует на складе. Остаток на складе '.$stock_coll.'шт'); exit; } // Списываем позиции со склада $result = mysqli_query($con,"SELECT * FROM `STOCK` WHERE `NOMENCLATURE` = '".$value[0]."' LIMIT ".$order_coll.""); while($row = mysqli_fetch_array($result)) { mysqli_query($con,"UPDATE `STOCK` SET `ORDERREPAIR`='".$uid."' WHERE `ID`='".$row['ID']."'"); } } | Задача вроде проста, но я не могу смекнуть. Требуется проверить запрошенное кол-во с имеющимся на складе, и только если запрошенное не превышает остаток, продолжить выполнять код, то есть списать позиции со склада. То что я написал работает, но в случае если хоть одна позиция соответствует "if" то он её списывает, а на остальные выкидывает ошибку. А мне нужно в случае хоть одного запроса не соответствующего "if" ничего не списывать. |