Как обновить телефонные номера сотрудника в базе данных с помощью PHP - PullRequest
0 голосов
/ 08 августа 2010

У меня есть форма, которая позволяет пользователю редактировать информацию о сотрудниках: имя, адрес электронной почты, уровень технического персонала и т. Д. Само по себе это не сложно, я пытаюсь найти хороший способ обновления телефонных номеров для каждый сотрудник. У меня есть две таблицы (которые актуальны): техники и телефоны. Моя форма позволяет пользователю добавлять, удалять и редактировать любое количество телефонных номеров для сотрудника, которого они редактируют.

Я не совсем уверен, как сбалансировать обновление таблицы телефонов между PHP и JS (обратите внимание, что это приложение интенсивно использует AJAX).

Я думаю, что могу либо:

  1. Используйте JS, чтобы отследить, какие телефонные номера необходимо обновить, какие добавить, а какие удалить, а затем либо отправить эти данные в один сценарий PHP, либо вызвать три различных сценария PHP.
  2. Пусть PHP разберется. Отправьте сценарий со списком телефонных номеров, которые должен иметь техник. Затем я мог бы либо удалить старые телефонные номера технических специалистов и вставить новый набор, либо запросить в базе данных старые номера и сравнить их один за другим с новым списком.

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

Ответы [ 2 ]

1 голос
/ 08 августа 2010

Удаление всех старых строк и создание новых может показаться быстрым решением, но не идите туда - вы в конечном итоге завяжетесь в узлы, как только что-нибудь еще попытается соединиться с теми же телефонными номерами вбудущая версия приложения.

Определить, какие номера добавить, а какие удалить, довольно просто, поэтому я бы предложил выполнить работу на вашем сервере.

0 голосов
/ 08 августа 2010

Идея № 2 - лучшая.Сделай все это на PHP.Сравнение стоит дорого и медленно.Вы должны выполнить запрос, выполнить разность наборов и затем сгенерировать некоторый SQL.

Я рекомендую удалить все существующие телефонные номера и добавить все известные хорошие телефонные номера.

УДАЛИТЬ С телефонов, ГДЕ technician_id = 123;INSERT INTO телефоны (technician_id, phone_number) VALUES (123, '401-555-1212'), (123, '402-555-1212');

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...