Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php]Ograniczenie zapytań do bazy - buforowanie wyników
Jarod
post
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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
cadavre
post
Post #2





Grupa: Zarejestrowani
Postów: 472
Pomógł: 7
Dołączył: 7.12.2005
Skąd: Gliwice

Ostrzeżenie: (0%)
-----


A zwyczajnie JSem?
  1. <a href="java script:history.go(-1)">Wróc</a>
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
Go to the top of the page
+Quote Post
Jarod
post
Post #3





Grupa: Zarejestrowani
Postów: 1 190
Pomógł: 27
Dołączył: 23.04.2005

Ostrzeżenie: (0%)
-----


Cytat(cadavre @ 27.07.2006, 22:43 ) *
A zwyczajnie JSem?
  1. <a href="java script:history.go(-1)">Wróc</a>
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
Go to the top of the page
+Quote Post

Posty w temacie
- 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
- - cadavre   A zwyczajnie JSem? [HTML] pobierz, plaintext <a...   27.07.2006, 23:43:09
|- - J4r0d   Cytat(cadavre @ 27.07.2006, 22:43 ) A zwy...   28.07.2006, 05:21:35
- - 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


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: 26.12.2025 - 20:19