Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Długość życia pola klasy?
Largo
post 14.02.2010, 11:16:17
Post #1





Grupa: Zarejestrowani
Postów: 203
Pomógł: 6
Dołączył: 11.09.2005

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


Witam,

Właśnie borykam się z problemem sortowanie tabeli, która ma działać w czasie rzeczywistym. O ile sortowanie działa o tyle nie mogę poradzić sobie z problemem Cache. Poniższy kod to część mojego kodu z Ajax Handler, który ma pobierać dane z bazy, ale jeżeli to pierwsze uruchomienie i nie ma danych w tablicy. O dziwo, po wywołaniu else, zapisuje do pola klasy, ale poza else zawartość tablicy znika i nie idzie jej przywrócić, dlaczego?

Próbowałem na lokalnych zmiennych, ale to nie miało sensu, więc użyłem pola klasy do tego. Czy powinienem używać referencji jak mi znajomy zasugerował? Jeżeli idę w zupełnie złym kierunku z Cache, proszę o inne porady. Nie mogę zostawić tego problemu luzem, ponieważ jeżeli nie będę dodawał do Cache, każde użycie sortowania wywoła zapytanie MySQL, a zakładając, że wejdzie do 100 osób w swoje transakcje i kliknie 3 razy to w ciągu paru minut mamy 300 zapytań, a samo zapytanie nie jest lekkie.

  1. /* Cache!
  2. * BugFix: DDoS availability!
  3. * TODO: Compare arrays to check for newer transaction
  4. */
  5. if( ( is_array( $this->transactionsCache ) && count( $this->transactionsCache ) ) )
  6. {
  7. $returnData[] = $this->transactionsCache;
  8. }
  9. else
  10. {
  11. /* Query... */
  12. $this->SQL->getTransactionsData( $memberToLoad, $sortKey, $sortOrder, $currentMonth, $actualPage, $perPage );
  13.  
  14. if( $this->DB->getTotalRows() )
  15. {
  16. while( ( $row = $this->DB->fetch() ) )
  17. {
  18. /* Add to HTML Variable */
  19. $returnData[] = $logs->parseTransaction( $row, $memberToLoad );
  20. }
  21.  
  22. /* Add to Cache */
  23. $this->transactionsCache[] = $returnData;
  24. }
  25. }


Mam nadzieję, że wskażecie mi błąd i pomożecie.

Pozdrawiam,
Largo

Ten post edytował Largo 14.02.2010, 11:16:43
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 07:43