Я делаю механизм заказа слота назначения доктора, где в назначении доктора слоты будут разделены на 30 минимальных слотов каждый... я достиг всего рабочего кода.. 1 проблема, с которой я сталкиваюсь, является этим.. этот заказ сделан в 2 местах т.е. 2 приемах.. таким образом, когда 1 выбирает слот (переключатель), еще не подтвержденный, и сохраненный в приеме DB.other не должен мочь выбрать .how, я делаю справку it.any на этом..., как я иду около он.
По сути,
я просто спрошу заранее тайминги слотов, а остальные детали позже.
Если слот доступен, он отправляет серверу запрос на его блокировку, чтобы другой клиент не мог его использовать.
В случае, если он недоступен, он получит небольшое уведомление о том, что этот слот недоступен, щелкните, чтобы увидеть доступные слоты.
Я бы выбрал AJAX (если это веб-приложение). Это проблема распределенных систем, которая напоминает проблему Синей армии - Белой армии.
Это случай доступа к «совместно используемым данным». Вам понадобится поток, чтобы убедиться, что только один поток имеет доступ к данным за раз, чтобы обеспечить их целостность. Следующее может дать некоторые идеи http://www.alternateinterior.com/2007/05/communicating-with-threads-in-php.html
Я бы использовал некоторые AJAX/AJAJ функции для периодического обновления данных о свободных слотах, или я бы сделал это намного проще - при сохранении записи на прием, просто проверьте это, если слот будет занят, ваше приложение перенаправляет пользователя обратно к форме для выбора другого слота.
Добавьте в таблицу поле "Locked By". При бронировании слота сделайте что-то вроде:
UPDATE tablename
SET LockedBy = userid, ...
WHERE LockedBy IS NULL
После обновления вы можете проверить, установлен ли LockedBy на ваш userid. Если нет, то кто-то другой, должно быть, опередил вас, и вам нужно сказать пользователю, чтобы он выбрал другой слот.