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
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 561
Pomógł: 6315
Dołączył: 27.12.2004




"podoba" mi sie ten kawalek. jest bardzo "optymalny"
  1. <?php
  2. $query = 'SELECT gracz.rejs_id, rejs.numer_rejsu, DATE_FORMAT(godzina, '%H:%i'), book, '.
  3.  'cat, lid, age, ga, radio, radio2, skrzynia, sam, nic, nfc, '.
  4.  'nopi, ilos, lista_uc, lista, sq, asysta, uwagi, gracz_id_powiazanie FROM rejs, g
    racz '
    .
  5.  'WHERE data=''.$biezacaData.'' AND kierunek='o' AND rejs.rejs_id=gracz.rejs_id ORDER BY godzina';
  6. $result = mysql_query($query) or die ('Zapytanie nieudane!');
  7.  
  8.  
  9.  //Pobranie rejs_id_powiazanie - sortowane po godzinie
  10. $query2 = 'SELECT godzina, gracz_id_powiazanie FROM rejs WHERE data=''.$biezacaData.'' AND kierunek='o' ORDER BY godzina';
  11. $result2 = mysql_query($query2) or die ('Zapytanie nieudane!');
  12.  
  13. while ( $query_data2 = mysql_fetch_row($result2) )
  14. {
  15. $powiazania[] .= intval($query_data2[1]);
  16. }
  17.  
  18. //Zmienna iteracyjna
  19. $licznik = 0;
  20. //Wyświetlenie rozkładu
  21. while ($query_data = mysql_fetch_row($result))
  22. {
  23. //Pobranie godziny przylotu dla odpowiedniego dnia (data przylotu może być <> daty odlotu! )
  24. $query3 = 'SELECT DATE_FORMAT(godzina, '%H:%i') FROM rejs WHERE rejs_id = '.$powiazania[$licznik];
  25. //....
  26. }
  27. ?>

robisz zapytania w petli dla innego zapytania, na dodatek wszystkie te zapytania operują na tej samej tabeli. Nie mozna tego uproscic? Bo taka konstrukcja nie sluzy zbytnio czasowi
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: 27.12.2025 - 10:17