Znalazłem taką klasę do obsługi mysql z funkcją cache:
<?php class sql{ var $connection; var $result; var $rows; var $queries = 0; var $cache_state =0; //numer aktualnego stanu var $cache_file; //nazwa pliku w którym jest przechowywane cache var $cache_buffer; //buffor do generowania danych var $cache_ptr; //numer ostatniego pola w bufforze //funkcja łącząca się z bazą danych function sql_connect($host, $user, $pass, $db){ }// //funkcja zamykająca połączenie z bazą danych function sql_close(){ }// //Cashowanie zapytań function sql_cache($handle = 0){ $this->cache_state = 1; $this->cache_ptr = 0; }else{ $this->cache_state = 2; $this->cache_file = CACHE_DIR.'a0x_'.$handle.'.666'; } }else{ if($this->cache_state == 2){ } $this -> cache_state = 0; } }// //usuwanie cache function sql_cache_remove($handle){ } }// //funkcja dodawania zapytań do mysql function sql_query($query){ if($this->cache_state != 1) { $this->queries++; { } return 1; } }// //zwracanie tablic mysql z bazy danych function sql_fetch_array(){ if($this->cache_state == 1){ return 0; } $this->rows = $this->cache_buffer[$this->cache_ptr]; $this->cache_ptr++; return 1; }else{ if($this->cache_state == 2) { $this -> cache_buffer[] = $this->rows; } return 1; } } return 0; }// } // koniec klasy ///////////użycie $sql = new sql; $sql -> sql_connect('localhost', 'root', '', 'nazwa_bazy'); //cache start $sql->sql_cache('news'); $sql->sql_query('SELECT * FROM newsy'); /// while($sql->sql_fetch_array()) { echo $sql->rows['id'].' - '.$sql->rows['tytul'].' - '.$sql->rows['autor'].' '.$sql->rows['zrodlo'].' '.$sql->rows['glowna'].'<br/>'; } /// //cache stop $sql->sql_cache(); $sql->sql_close(); ?>
chciałem podpiąć klasę pod mój skrypt i tutaj mam problem ponieważ używam zapytań typu:
<?php if($sprawdz_wyniki!=0) { { //rezultaty } } else { } ?>
ta klasa niestety nie pasuje do tego rozwiązania, jeśli nie ma rekordów to na stronei nie generuje nic lecz tworzy plik cache z zawartością: a:0:{}
Chciałbym Was prosić i zapytać w jaki sposób można przerobić klasę, aby mogła współpracować z metodą pobierania wyników, którą zaprezentowałem wyżej.
Pozdrawiam