Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 1 190 Pomógł: 27 Dołączył: 23.04.2005 Ostrzeżenie: (0%)
|
Mam następujący problem. Mam skrypt, który pobiera z bazy rekordy (około 50) i wyświetla je wiersz pod wierszem. Po lewej stronie jest link - po jego naciśnięciu strona się przeładowuje i jest formularz edycji. Jak damy zapisz, dane się aktualizują w bazie i jesteśmy przekierowywani na stronę główną (pobierane jest znowu 50 rekordów i wyświetlane wiersz pod wierszem). Muszę zrobić bez przeładowywania (żeby nie pobierać za każdym razem 50 rekordów). Do głowy wpadło mi takie rozwiązanie:
Pobierać z bazy do tablicy dane tylko jeden raz (przy pierwszym ładowaniu strony). A przy edycji wybranego wiersza, update do bazy i edytowanych danych w tablicy a następnie powrót na stronę główną i wyświetlanie danych już z tablicy (bez ponownego pobierania z bazy). Problem w tym, że nie wiem jak najlepiej taką tablicę przechowywać, żeby jej nie stracić przy przejściu na inną stronę? Umieścić w sesji danego użytkownika? Inny problem to jeszcze będę musiał sprawdzić czy inny użytkownik czegoś nie edytował a jeśli tak to pobranie tych nowych (zmienionych) danych z bazy.. Czy to dobry pomysł? Ten post edytował J4r0d 27.07.2006, 12:46:17 |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 472 Pomógł: 7 Dołączył: 7.12.2005 Skąd: Gliwice Ostrzeżenie: (0%)
|
A zwyczajnie JSem?
W Twoim przypadku będzie -2 chyba. Tylko, że wtedy zmieniona wartość wyświetlona zostanie ze starą wartością (wyświetloną, bo z bazie będzie już update). Ten post edytował cadavre 27.07.2006, 23:46:00 |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 1 190 Pomógł: 27 Dołączył: 23.04.2005 Ostrzeżenie: (0%)
|
A zwyczajnie JSem? W Twoim przypadku będzie -2 chyba. Tylko, że wtedy zmieniona wartość wyświetlona zostanie ze starą wartością (wyświetloną, bo z bazie będzie już update). Ale co to da? Bo nie łapie o co Ci chodzi.. I jeszcze pytanie z innej beczki. Skoro sprawdzanie czy ktoś coś edytował w bazie ma się sprowadzać do sprawdzenia czy istnieje plik, to czy trzeba się jakoś zabezpieczyć? Chodzi mi o sytuacje, że dwóch pracowników edytuje ten sam rekord (albo inny) i jednocześnie przesyłają nowe dane do zapisu. Skrypt aktualizuje dane w bazie, kasuje plik z cachem i następuje powrót na stronę główną. Na stronie głównej sprawdzane jest czy plik istnieje (ponieważ już nie istnieje) następuje odczyt z bazy nowych danych i zapis do chache. Możemy zablokować na czas zapisu plik ale gdzieś czytałem, że tego typu operacje nie są bezpieczne. Jak się zabezpieczyć przed sytuacją, gdy dwóch użytkownik w tym samym czasie zapisuje chache do pliku, albo gdy jeden edytował rekord i usuwa cache a drugi właśnie chce zapisać chace..? Mam nadzieje, że nie zamotałem.. Ten post edytował J4r0d 28.07.2006, 07:23:58 |
|
|
|
J4r0d [php]Ograniczenie zapytań do bazy - buforowanie wyników 27.07.2006, 12:32:30
Cysiaczek 1. Możesz trzymać dane zserializowane np w sesji (... 27.07.2006, 12:37:23 
J4r0d Cytat(Cysiaczek @ 27.07.2006, 11:37 ) 1. ... 27.07.2006, 12:48:13
kossa Moim zdaniem zapytanie na 50 rekordach jeśli serwe... 27.07.2006, 12:39:16
nospor Ja ostatnio jakis monotematyczne jestem, ale do te... 27.07.2006, 12:39:50
Cysiaczek 1. W manualu sa funkcje serialize() i unserialize... 27.07.2006, 12:53:40
nospor CytatCzy trudno jest wykonać cachowanie danych? (z... 27.07.2006, 12:56:50 
J4r0d Cytat(nospor @ 27.07.2006, 11:56 ) Ale je... 27.07.2006, 13:06:34
nospor CytatW sumie masz rację. Ale czy to nie bedzię dłu... 27.07.2006, 13:10:08 
J4r0d Cytat(nospor @ 27.07.2006, 12:10 ) Nie sa... 27.07.2006, 13:56:47
nospor "podoba" mi sie ten kawalek. jest bardzo... 27.07.2006, 14:13:56 
J4r0d Cytat(nospor @ 27.07.2006, 13:13 ) ... 27.07.2006, 22:17:57
nospor CytatChodzi mi o sytuacje, że dwóch pracownik... 28.07.2006, 08:23:32 
J4r0d Cytat(nospor @ 28.07.2006, 07:23 ) Opisan... 28.07.2006, 11:57:35
nospor CytatTy edytujesz pierwszy a ja drugi. Dajesz zapi... 28.07.2006, 12:15:26
J4r0d Czy przy zapisie do pliku należy blokować do niego... 28.07.2006, 14:51:23 ![]() ![]() |
|
Aktualny czas: 26.12.2025 - 20:19 |