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

Код, который я создал, берет данные из Highrise API и импортирует их в наши таблицы базы данных MySQL.

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

Все работает нормально, когда они заполняют пользовательские поля 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'})."'");

Так что, очевидно, он будет просто вставлен... или ОБНОВЛЕНО, если есть дубликат... но что, если он вдруг станет пустым? Как бы я проверить, если это пустое?

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

1 ответ

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

Другие вопросы по тегам