2013-08-01 1 views
0

Созданный мной код принимает данные из Highrise API и импортирует их в наши таблицы базы данных MySQL.Обновление синхронизации БД с помощью API - не будет обновляться, чтобы показать, когда пользовательские поля изменены на пустой

Это не идет и от дБ до Высокого. Он просто переходит из Highrise в БД, когда представители продаж нажимают кнопку «sync», которую я создал.

Все работает нормально, когда они заполняют пользовательские поля Highrise и нажмите «Синхронизировать». Проблема возникает, когда они удаляют данные из настраиваемого поля и нажимают «Синхронизировать».

У меня есть цикл, который делает это для каждого:

mysql_query("INSERT lld_listing_constants (client_hr_id, customvalue, unique_field_id, customglobalid) VALUES ('".addslashes($co_id_hr)."', '".addslashes($subjectdatainner->{'value'})."', '".addslashes($subjectdatainner->{'id'})."', '".addslashes($subjectdatainner->{'subject_field_id'})."') 
ON DUPLICATE KEY UPDATE customvalue = '".addslashes($subjectdatainner->{'value'})."', customglobalid = '".addslashes($subjectdatainner->{'subject_field_id'})."'"); 

Так что, очевидно, будет ВСТАВИТЬ просто отлично .. или UPDATE, если есть дубликат .. но что, если она вдруг становится пустой? Как я могу проверить, не пусто?

Я думаю, проблема в том, что вытаскивание данных API - это не возвращает пользовательские поля, которые пусты.

ответ

0

Как правило, вы хотите проверить наличие поля перед сохранением его значения. Если поле существует, присвойте его значение переменной, которую вы передаете в запрос БД. Если нет, назначьте значение null и убедитесь, что запрос БД устанавливает нуль в базе данных соответственно.