![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 0 Dołączył: 28.04.2016 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Stanąłem przed takim problemem i zbytnio nie wiem jak go rozgryźć; Chcę zrobić, by osoba dokonała wpisu, które zostanie utworzone w bazie mysql, ale do wpisu tego, będzie przydzielany numer. Numer ten tworzony będzie raz na minutę. Muszę więc zapobiec by więcej niż jeden wpis był zapisany do bazy w ciągu minuty, potrzebny jest więc jakiś mechanizm, który np. ustali kolejność wpisów (bo może być ich kilka w ciągu danej minuty), tym samym kolejne wpisy musiały by się dokonywać w dalszych minutach, lub sprawdzanie kolejnych powinno być z początkiem następnej minuty. Chcę też uniknąć sytuacji, gdy dany wpis osoby będzie czekał w "kolejce", a osoba zrezygnuje - użyje tu przycisk, który pojawi się dopiero jak będzie "wolne" miejsce na wpis. Myślałem o milisekundach, bo więcej niż 1 wpis też może wystąpić w danej sekundzie, ale może jest jakiś łatwiejszy sposób? Nie mam nawet wizji możliwego kodu, ale wyglądało by to tak; 1. Połączony z bazą 2. ... - tutaj kod sprawdzający/zapisujący 3. Dalsza część programu - jeśli zapis jest możliwy 4. Koniec połączenia Potrzebne rozwiązanie, tylko do pkt. 2. Każdy pomysł, będzie lepszy od tego, którego nie mam (IMG:style_emoticons/default/smile.gif) |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 0 Dołączył: 28.04.2016 Ostrzeżenie: (0%) ![]() ![]() |
Cron odpada raczej, bo klient musi być na czas dalszej procedury, zostanie przydzielony numer, a potem do wpisu o tym numerze, reszta pyt., np. o imię, czy e-mail osoby wpisującej. Gdy osoba nie dokończy całości, numer nie może być zapisany z pustymi polami.
1) 16:30:15 - sprawdzenie czy jest zajęty numer, ustalić flagę 0/1 - inne wpisy wtedy mają loadera - 16:31:00 ponowne sprawdzenie, gdyby ktoś zrezygnował z czekania na pojawienie się przycisku zakładając że flaga jest do czasu, nie osoby 2) jest więcej niż 2 wpisy w tym samym momencie - sytuacja j/w, ale 3 osoby w tym samym czasie dokonały wpisu, np. 16:30:00 wynik sprawdzenia będzie znany dopiero 16:30:01 trzeba by porównać milisekundy chyba wtedy? wziąć trzeba pod uwagę pingi, nawet kilku sek. - połączenie nie zerwane, ale czas leci dalej, wtedy osoba 1 dostaje nr., 2 podaje swoje imię, a 3 maila i mamy chaos (IMG:style_emoticons/default/smile.gif) Może zastosować "chwilowy" wpis w jakąś komórkę do bazy i ją sprawdzać/kasować/zmieniać? A może ktoś podsunie pomysł na sprawdzanie "po czasie"? Czyli dana min. minęła i porównanie ile osób się w niej zgłosiło, lub sprawdzenie, czy wcześniejsza min. jest wolna. No nie wiem, co lepsze. Mile widziany kod, ale jak nie będzie, to wystarczą metody, na ich podstawie sklepie coś. Ja i tak muszę to zrobić, napisałem z myślą że już taki problem był komuś znany. Tego typu problemów mam kilka, muszę sobie z nimi poradzić i uznałem że forum będzie dobrą opcją. Tak, czy siak, dziękuję za jakiekolwiek wpisy. Ten post edytował Biqs 28.04.2016, 15:57:25 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 10.10.2025 - 23:48 |