Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Tworzenie konta
Biqs
post
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)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Biqs
post
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
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 10.10.2025 - 23:48