Raven1122
15.09.2011, 12:38:12
Witam. Mam takie pytanie:
Mam tabele w MySQL:
id,
userid,
queue,
no i ktos zlozyl zamowienie, a nastepnie druga osoba takze zamowila cos i w tym momencie basa wyglada tak:
id = 1, userid = jakis losowy kodzik, queue = 1
id = 2, userid = jakis losowy kodzik, queue = 2
no i chcialbym uzyskac taki efekt ze jak usune rekord z numerem 1 to rekord z numerem 2 przejdzie na jego miejscie. Czy jest to mozliwe? ma to byc skrypt kolejki wiec moze sa jakies inne rozwiazania?
freemp3
15.09.2011, 12:49:24
Może prościej by było w queue podać czas aktualnego zamówienia (w mysql funkcja UNIX_TIMESTAMP()) i wyniki sortować po czasie?
W tedy będziesz miał dokładną informację kto jest następny w kolejce bez zbędnych operacji.
Raven1122
15.09.2011, 12:50:52
no tak ale chcialbym klientowi wyswietlic ktory jest w kolejce
freemp3
15.09.2011, 13:07:36
Wystarczy policzyć ilu użytkowników jest przed nim.
Kod
SELECT COUNT(*) FROM tabela WHERE queue < (SELECT queue FROM tabela WHERE userid = 'idUzytkownka');