<?php $oDb->sql_cache('wiadomosci'); $bHandleArt = $oDb->execute('SELECT tytul FROM mod_artykuly LIMIT 10'); while($aRows = $oDb->fetch_array($bHandleArt)){ } $oDb->sql_cache(); ?>
więc muszę odczytać zcachowany plik w tej samej pętli co zapytanie z bazy. Nie mam pojęcia jak to wykonać, abym tak samo jak wywoluje dane z bazy czyli np $aRows['tytul'] potem mogl zawsze w ten sam sposob bez modyfikacji odczytac plik cache
<?php include ('config.php'); class db { private $bDbh; private $bHandleQuery; private $sCacheFile; private $iCacheState; private function __construct(){ throw new Exception( 'blad polaczenia z baza' ); } } } if(self::$oDb == false ){ self::$oDb = new db(); } return self::$oDb; } public function execute( $sQuery ){ if($this->iCacheState == 1){ return 0; } else { if( !$this->bHandleQuery ) else return $this->bHandleQuery; } } private function is_cache_file( $sFile ){ } public function sql_cache( $sHandle = 0 ){ $this->sHandle = $sHandle; if( !$this->is_cache_file( $this->sHandle ) ){ $this->sCacheFile = CACHE_DIR.'db_'.$this->sHandle.'.buf'; $this->iCacheState = 2; } else { $this->iCacheState = 1; } } else { if($this->iCacheState != 1){ } } } public function fetch_array( $bHandle ){ if( $this->iCacheState == 1 ){ /* echo'<pre>'; print_r($this->aResult); echo'</pre>'; */ } elseif( $this->iCacheState == 2 ) { } } } try { $oDb = db::getInstance(); $oDb->sql_cache('wiadomosci'); $bHandleArt = $oDb->execute('SELECT tytul FROM mod_artykuly LIMIT 10'); while($aRows = $oDb->fetch_array($bHandleArt)){ } $oDb->sql_cache(); } catch(Exception $e){ } ?>