Как обрабатывать несколько запросов одной формы, используя php и mySQL? - PullRequest
0 голосов
/ 03 января 2012

Я использую PHP с Zend Framework и MySQL.У меня есть форма, в которую пользователи входят.Когда несколько пользователей входят в одну и ту же форму одновременно, в зависимости от прибытия я могу разрешить доступ (включение полей формы) для редактирования для 1-го пользователя, а другие пользователи могут просматривать только «отключенные» поля формы.и человек, который редактирует прямо сейчас, и очередь редактирования.

Когда человек, занимающийся редактированием, завершает работу и выходит из системы, как мне «включить» уже созданные поля формы для следующего в очереди в очереди итакже изменить очереди редактирования для всех?

Если у меня есть это в моем главном контроллере:

    while(1)
    {
        sleep(3);
        $log_firstrow = $this->getFirstRow($db);
        if($this->isFirstRow($log_firstrow, $username)==1)
        {
            $this->view->queue = 0;
            break;
        }    
    }

Это предотвращает доступ к просмотру во время ожидания отображения отключенной формы.Только после того, как первый человек выйдет из системы, и этот пользователь будет следующим в очереди, контроллер завершит работу и перейдет к просмотру, где отображается форма.

Спасибо.

1 Ответ

1 голос
/ 11 января 2012

Это легко истечет время ожидания вашего PHP-скрипта, если кто-то не торопится на странице редактирования.Или есть длинная очередь.Не говоря уже о том, что все люди в очереди увидят пустую страницу, поскольку ничего не будет подано, пока контроллер не завершит обработку.Кроме того, страница редактирования останется заблокированной пользователем, если он не выходит из вашего приложения, а просто покидает страницу или закрывает свой браузер.

Почему бы вам не использовать AJAX, чтобы каждый человек вочередь опрашивает сервер каждые N секунд, чтобы узнать, не настала ли их очередь редактировать?

...