![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 763 Pomógł: 117 Dołączył: 15.03.2010 Skąd: void Ostrzeżenie: (0%) ![]() ![]() |
Witam. Potrzebuję pomocy! Nie wiem jaki skrypt PHP jest w stanie wyświetlić po kolei rekordy z bazy danych. Może wytlumacze to inaczej... W bazie danych zawarte są 16 znakowe kody, które wpisywane są tam przeze mnie. Każdy kod przyporzadkowany ma numer ID. Chce by kody te były wyswietlane TYLKO RAZ i po kolei według przyporzadkowanych numerów ID. Proszę o szybką odpowiedz (IMG:style_emoticons/default/winksmiley.jpg)
Z góry dziękuje za pomoc. Pozdrawiam! |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
@Ddiceman: Zwróć uwagę na moją sugestię o dodatkowym stanie równym 2. To co postulujesz jako zablokowanie rekordu to nic innego niż przejście ze stanu 0 do 2. Dodatkowo nie blokuje on kodu dla ściśle określonej osoby. W takim wypadku zastosowanie podanego przez Ciebie UPDATE-SELECT jest naturalne, tylko że ustawiam flagę z 0 na 2 bez podpisywania id_sesji. Poza tym zwróć uwagę, że nigdzie poza postem jaslanina nie było podane w jakiej kolejności mają się wykonać zapytania. Widzę za to propozycje struktury tabeli dające swobodę implementacji. Nie bez powodu 2 jako stan dodawałem jako pomysł. To właśnie odpowiednik LOCK. Jest w bazie do wykorzystani, ale nie jest w puli do wyboru. Index na tej kolumnie to ładny kop w partycjonowaniu danych podczas zapytań bo szybko dzieli ją na wykorzystane (których coraz więcej), do użytku (tutaj z reguły będzie mało, skoro są z palca pisane) i zablokowane (nieliczne).
Robię: UPDATE token SET used = 2 WHERE used = 0 ORDER BY id ASC LIMIT 1 by zaraz po nim wywołać mysql_affected_rows(), a jeszcze lepiej jeśli zrobię funkcję w bazie, która mi to zabezpieczy poprzez zwrócenie id zablokowanego wiersza i walnie SELECT zwracający kod wiersza pod nim. Lub użyję do tego celu choćby transakcji (IMG:style_emoticons/default/smile.gif) Najlepiej byłoby info o tym kto wywołał LOCK też zachować. Gdyby były pretensje na zasadzie: "Ktoś użył mojego kodu!" Jak widzisz nic nigdzie nie koliduje między Twoimi i moimi radami. Powiedziałbym, że się one do pewnego stopnia uzupełniają. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 16.10.2025 - 06:55 |