![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 202 Pomógł: 117 Dołączył: 13.04.2007 Skąd: 127.0.0.1 Ostrzeżenie: (0%) ![]() ![]() |
Witam wszystkich czytających....
Opisze może na przykładzie o co mi chodzi: Skrypt tworzy 10 osobowe grupy. Kazdy uzytkownik moze sie zapisac do grupy. Skrypt zapisuje uzytkownika do pierwszej wolnej grupy, jesli nie ma wolnej to zaklada kolejna grupe i powtarza poprzedni krok. Proste. Problem polega na tym, ze jak to sie wszystko zachowa gdy wielu uzytkownikow sprobuje zapisac sie jednoczesnie? W sensie skrypt sprawdzi, ze w grupie jest 9 osob (2 razy niezaleznie) i dopisze dwie osoby i bedzie 11... -------------------- |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 17.10.2007 Ostrzeżenie: (0%) ![]() ![]() |
miałem kiedys podobny problem ale z ankietami - do aplikacji mialo sie logowac wielu uzytkownikow i pobierac ankiety w celu obdzwonienia uzytkownikow z ankiety i przeprowadzenia rozmowy.
rozwiazalem go w najprostszy sposob jaki wydawal mi sie sluszny, a mianowicie: mialem tabele ankiety i pobrane_ankiety. Funkcja najpierw sprawdzala czy dana ankieta jest pobrana (zapisana w pobrane_ankiety) i jak nie byla to ja pobierała, ale - I TU JEST ROZWIAZANIE:) - w przypadku gdyby w trakcie zapisu tej ankiety do tabeli pobrane_ankiety inny użytkownik już zapisal ja szybciej postanowilem zrobic w krotkim odstepie czasu kolejne zapytanie sprawdzające czy rekordy w tabeli pobrane_ankiety sie niepowtarzaja jesli by sie powtarzaly kasowana byla by ta ankieta i proces prebiegal by od nowa. (w tabeli pobrane_ankiety bylo pole id auto_increment wiec osoba kutara w takim wypadku miala niższe id obslugiwala ankiete a ta reszta losowala ponownie) Takie rozwiazanie dla moich potrzeb wystarczalo a mialo znaczenie bo aplikacja byla wykozystywana przez powana firme i niemogli sobie pozwolic na dzwonienie dwa razy do tej samej osoby - wizerunek firmy by podupadł ![]() pozdrawiam Ten post edytował fulgore 17.10.2007, 17:44:12 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 11:00 |