Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Blokowanie rekordów, Blokowanie możliwości równoczesnego dostępu do rekordu
TomASS
post 3.03.2010, 22:36:48
Post #1





Grupa: Zarejestrowani
Postów: 1 660
Pomógł: 13
Dołączył: 9.06.2004
Skąd: Wrocław i okolice

Ostrzeżenie: (0%)
-----


Witam,

mam edycję zamówienia (w ogólności rekordu), chciałbym zrobić blokadę tak, aby tylko jedna osoba mogła jednocześnie edytować - w przypadku gdy kolejna osoba chce edytować ten rekord chciałbym aby wyświetlił się komunikat "edycja niemożliwa".

Można np. ustawiać flagę w bazie MySQL, ale co będzie gdy użytkownik po prostu zamknie okienko a nie da zapisz albo anuluj? ta jedynka pozostanie tam na wieki....

ktoś już rozwiązał taki problem albo wie czego szukać po sieci?


--------------------
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 12)
Crozin
post 4.03.2010, 00:27:15
Post #2





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Zamiast jedynki oznaczającej zablokowany rekord wstawiaj tam aktualny czas. Rozpoznawanie czy ktoś edytuje: czas z bazy jest < teraz minus np. 60 sekund. Dodatkowo na stronie formularza edycji musiałbyś JSowo (czy w dowolny inny asynchroniczny sposócool.gif co te 60 sekund wysyłać żądanie, które by aktualizowało tą wartość (czas).
Go to the top of the page
+Quote Post
TomASS
post 4.03.2010, 08:17:30
Post #3





Grupa: Zarejestrowani
Postów: 1 660
Pomógł: 13
Dołączył: 9.06.2004
Skąd: Wrocław i okolice

Ostrzeżenie: (0%)
-----


Dzięki, pomysł niezły, niezły.

Problem może być w momencie kiedy JS się wysypie, lub przeglądarka go nie obsługuje :/

Może są jeszcze jakieś inne?


--------------------
Go to the top of the page
+Quote Post
nospor
post 4.03.2010, 08:20:14
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
Problem może być w momencie kiedy JS się wysypie
JS jak jest poprawnie napisany to sie nie wysypuje.

Jak rekord jest zablokowany dłuzej niz np. godzine to mozesz z czystym sumieniem zalozyc, ze cos sie posypalo i mozna juz rekord odblokowac.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
TomASS
post 4.03.2010, 08:41:59
Post #5





Grupa: Zarejestrowani
Postów: 1 660
Pomógł: 13
Dołączył: 9.06.2004
Skąd: Wrocław i okolice

Ostrzeżenie: (0%)
-----


Tylko kiepsko czekać na odblokowanie rekordu aż godzinę ;/

Cytat
JS jak jest poprawnie napisany to sie nie wysypuje.


Ja tam Panu JSowi nie wieżę za grosz winksmiley.jpg Dlatego chcę uniknąć korzystania z niego smile.gif


--------------------
Go to the top of the page
+Quote Post
nospor
post 4.03.2010, 08:45:08
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
Tylko kiepsko czekać na odblokowanie rekordu aż godzinę
to byl przyklad. jak chcesz to czekaj tylko pol godziny

Cytat
Ja tam Panu JSowi nie wieżę za grosz
A ja na podstawie doswiadczenia moge powiedziec ze mozna temu Panu zaufac. Jedyne co trzeba zrobic to spłodzić go bez błędów.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
TomASS
post 4.03.2010, 08:53:06
Post #7





Grupa: Zarejestrowani
Postów: 1 660
Pomógł: 13
Dołączył: 9.06.2004
Skąd: Wrocław i okolice

Ostrzeżenie: (0%)
-----


Cytat
Jedyne co trzeba zrobic to spłodzić go bez błędów.

Masz rację - jak się napisze bez błędów to się nie wyspie winksmiley.jpg Podobnie jak się wcale go nie napisze winksmiley.jpg

Dzięki, kolejne moje pytanie - czy jest jakaś możliwość napisania tego bez pomocy JS?


--------------------
Go to the top of the page
+Quote Post
nospor
post 4.03.2010, 09:02:06
Post #8





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
Podobnie jak się wcale go nie napisze
No to nie pisz wogole blokowania - też sie nie wysypie.

Oczywiście ze mozna:
koles klika edycje - blokujesz rekord poprzez wspomnianie wczesniej pole
koles klika zapisz i wychodzi - odblokowujesz pole
koles nie kliknal zapisz, tylko sobie poszedl na panny - sprawdzasz date blokady, jak dluzsza niz np. pol godziny - odblokowujesz


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
TomASS
post 4.03.2010, 09:05:10
Post #9





Grupa: Zarejestrowani
Postów: 1 660
Pomógł: 13
Dołączył: 9.06.2004
Skąd: Wrocław i okolice

Ostrzeżenie: (0%)
-----


Cytat
No to nie pisz wogole blokowania - też sie nie wysypie.

Masz rację.


Właśnie, tutaj nie mogę znaleźć kompromisu, 30min wydaje się być długie...za długie na czekanie na automatyczne odblokowanie, oczywiście można ten czas skrócić do 15min, ale 15min to może trwać sama edycja.... cóż może skuszę się na tego JSa.


--------------------
Go to the top of the page
+Quote Post
nospor
post 4.03.2010, 09:07:06
Post #10





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




No to połącz rozwiązanie z js z rozwiązaniem bez js. W 99% przypadków wszystko bedzie cacy.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
askone
post 4.03.2010, 09:12:25
Post #11





Grupa: Zarejestrowani
Postów: 654
Pomógł: 121
Dołączył: 27.10.2007
Skąd: Poznań, Łódź

Ostrzeżenie: (0%)
-----


Hej

Nie jestem pewień na 100% czy to może być rozwiązaniem, ale poczytaj:

page 1
page 2
page 3



--------------------
Kliknij jeśli moja odpowiedź Ci pomogła.
askone.pl
Go to the top of the page
+Quote Post
TomASS
post 4.03.2010, 09:14:45
Post #12





Grupa: Zarejestrowani
Postów: 1 660
Pomógł: 13
Dołączył: 9.06.2004
Skąd: Wrocław i okolice

Ostrzeżenie: (0%)
-----


Tak - dodam jeszcze stronę, gdzie każdy użytkownik będzie miał powypisywane rekordy które poblokował z możliwością ręcznego odblokowania.


--------------------
Go to the top of the page
+Quote Post
Crozin
post 4.03.2010, 10:16:37
Post #13





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Jak tak bardzo nie chcesz JS to zawsze możesz skorzystać np. z ukrytej ramki, w której jest strona z automatycznym odświeżaniem co 30 sekund. Albo nawet połączyć oba rozwiązania (tzn. JS mógłby już taką ramkę blokować).
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 18.07.2025 - 01:41