![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 20.11.2003 Skąd: Chicago Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Zabralem sie za dosc duzy projekt i jak dotychczas - bedac prawie na ukonczeniu - zazyla 8O mnie jedna sprawa. Przedstawie w skrucie dzialanie skryptu. Skrypt to tzw. 'Workbook'. Klient dzwoni - pracownik umawia go na robote i wpisuje do bazy poprzez formularz php w czasie rozmowy lub zaraz po niej. I tu problem - chce zablokowac mozliwosc wpisania 2 rekordow w tym samym czasie - gdy jedna osoba jest w trakcie pisania (nie musi jeszcze wykonywac sie proces w sql - bo to przeciez sa najwyzej sekundy), ale jezeli juz wejdzie na strone z formularzem - inna osoba dostaje komunikat (chcac cos wdytowac) ,ze jest w kolejce... Mam nadzieje, ze dobrze to wyjasnilem. Myslalem o tym, zeby zrobic to od strony MySqla - mianowicie zablokowac max procesow do 1, ale to sie wiaze z tym co opisalem powyzej - ciezko trafic na aktywny tym bardziej chcac, zeby 2 osoba zauwazyla co zostalo przed chwila wpisane. Licze na pomoc. Wielkie dzieki. (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 20.11.2003 Skąd: Chicago Ostrzeżenie: (0%) ![]() ![]() |
OK ! Wielkie dzieki za podpowiedzi. Po zlozeniu tego co mi napisaliscie i swoim przemysleniom - opracowalem niezawodny sposob (i hope so (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Mniej wiecej cos takiego (prosto ale skutecznie) [php:1:0bf2df9e76]<?php $sql = mysql_query("SELECT * FROM wb_edited WHERE locked='1'"); $locked_check = mysql_num_rows($sql); if($locked_check == 0) { $sql1 = mysql_query("SELECT * FROM wb_edited WHERE data='$data' AND isEdited='0'"); $data_check = mysql_num_rows($sql1); if($data_check == 0) { mysql_query("UPDATE wb_edited SET data='$data', isEdited='1'"); mysql_query("UPDATE wb_edited SET locked='1'"); } } else { print "BUSY"; die; } ?>[/php:1:0bf2df9e76] Pozdrawiam i dzieki (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 26.09.2025 - 07:03 |