Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 09.03.2014, 13:03
Аватар для Duda.Ml1986@gmail.com
Профессор
Отправить личное сообщение для Duda.Ml1986@gmail.com Посмотреть профиль Найти все сообщения от Duda.Ml1986@gmail.com
 
Регистрация: 01.09.2011
Сообщений: 263

Правильный код, как исправить грабли.
Всем привет.

Коротко что это делает.
Есть апи которая присылает данные, я хочу их вставить в БД, но что бы избежать дублирования сделал одно поле уникальным в таблице. То что вы видите костыль, а как сделать лучше не знаю, как избавится от форичей?

Суть вопроса как сравнить два массива так что бы остался один с теми записями у которых ай ди не совпадает ни с одной записью ай ди во втором массиве

Есть вот такой фрагмента кода:

$inventoryId = 436;
                    $this->Model('M_Soap');
                    $M_Soap = new Soap();

Возвращает многомерный массив

                    $arrProducts = $M_Soap->getInventoryProducts($inventoryId);

Беру все ай ди из того что пришло

                    foreach ($arrProducts as $product) {
                        $arr[] = $product['id'];
                    }

Делаю селект в БД всех записей если они есть под таким ай ди

                    $productsInDb = $M_Product->getUniqueRecords($arr);

Сравниваю то что пришло и то что хранится в БД, если есть совпадение то удаляю из того что пришло по ай ди

                    foreach ($arrProducts as $product) {
                        foreach ($productsInDb as $productDb){
                            if ($product['id'] = $productDb['id_supplier']){
                                unset($arrProducts[$product['id']]);
                            }
                        }
                    }

Вставляю в БД, если вдруг совпадет по ай ди с тем что есть в БД то вставить неполучится (ун индекс на поле)

                    $M_Product->addInventoryById($arrProducts);

Последний раз редактировалось Duda.Ml1986@gmail.com, 09.03.2014 в 13:09.
Ответить с цитированием
  #2 (permalink)  
Старый 10.03.2014, 23:43
Новичок на форуме
Отправить личное сообщение для Ruslan1802 Посмотреть профиль Найти все сообщения от Ruslan1802
 
Регистрация: 16.02.2014
Сообщений: 6

Если я вас правильно понял, то array search в помощь
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как лучше защитить код от копирования на другой сайт? Опан Общие вопросы Javascript 10 21.08.2015 21:29
Как сделать чтоб код рекламы(ueuk) был в файле *js..... koshkin26 Общие вопросы Javascript 5 31.03.2013 06:50
Исправить код что бы всплывающий div с данными показывался с первого раза dev1 Events/DOM/Window 0 09.02.2013 18:00
Запуск кода с фрейма, код в родительском окне - КАК ? lamer Javascript под браузер 7 06.05.2012 15:15
Как узнать динамический код страницы? gosha13 Общие вопросы Javascript 5 27.07.2009 13:31