ho uno script che usa la libreria ADOdb.
ho un problema.
mi ripete una query infinitamente.
come posso risolvere???
ecco il codice
PS: la query è la seconda
Codice PHP:
<?php
class Index extends config
{
    var 
$smarty;
    var 
$cache;
    var 
$db;
    var 
$l;
    var 
$paginazione;
    
/** 
    *
    * @package fms
    * @version $Id: index.php,v 0.01 beta 2006/06/11 18:13:49 acydburn Exp $
    * @copyright (c) francesco straffi
    * @license [url]http://opensource.org/licenses/gpl-license.php[/url] GNU Public License 
    *
    */
    
function getmicrotime(){
       list(
$usec$sec) = explode(" ",microtime());
       return ((float)
$usec +  substr((float)$sec,0,1));
    } 
    
    function 
Index()
    {
        
$this->path();
        
$inizio=$this->getmicrotime();
        
        include_once(
$this->sitedir '/includes/php/libs/Smarty.class.php');
        include_once(
$this->sitedir '/includes/php/cache/acm_file.php');
        include_once(
$this->sitedir '/includes/php/Db/adodb.inc.php');
        include_once(
$this->sitedir '/includes/php/Db/adodb-exceptions.inc.php');
        
        
$this->cache = new acm($this->sitedir);
        
$this->smarty = new Smarty();
        
//mi connetto
        
try{
            
$this->db NewADOConnection('mysql');
            
$this->db->Connect($this->host$this->user$this->pass$this->dbname);
        } catch(
Exception $e){
            echo 
"Connect Failed";
            
adodb_pr($e);
            die();
        }
        
$this->db->debug=1;
        
        
$this->smarty->template_dir     $this->sitedir.'/Theme/'.'classic';
        
$this->smarty->compile_dir      $this->sitedir.'/cache';
        
$this->smarty->config_dir       $this->sitedir.'/Theme/'.'classic'.'/config';
        
$this->smarty->compile_check    true;
        
$this->smarty->debugging        false;
                
        if((
$menucache[0] = $this->cache->get('_menu')) == false)
        {
            
$sql "SELECT id, url, nome, visible
                FROM "
.$this->prefix."page
                ORDER BY id    ASC
                LIMIT 0,10
                "
;
            
$ADODB_FETCH_MODE ADODB_FETCH_ASSOC;
            
$result $this->db->GetAssoc($sql);
            
            
$i 0;
            
            foreach(
$result as $key => $menu)
            {
                if(
$menu['visible'] == 1)
                {
                    if(
preg_match('/http:\/\/(.*?)/is'$menu['url']))
                    {
                        
$men[$i++] = $menu;
                    } else {
                        
$men[$i++]          = $menu;
                        
$men[$i 1]['int'] = true;
                    }
                }
            }
            
            
$this->cache->put('_menu'$men3600);
        }
        
        
$menu $menucache[0] == false $men $menucache[0];

        
$p $_GET['page'];
        
        if(!
file_exists($this->sitedir.'/page/'.$p.'.php'))
        {
            
$p 'error';
        }
               
//query danneggiata, che si ripete fino a bloccare il server.
//
//
//
//
//
        
$sql "SELECT u.id, u.urlo, u.user_id, u.time, p.username, p.user_id
            FROM "
.$this->prefix.'shout u,
            phpbb_users p
            WHERE u.user_id = p.user_id
            ORDER BY time DESC'
;
        
$shout $this->db->GetOne($sql);

        include_once(
$this->sitedir.'/page/'.$p.'.php');
        
$class='page_'.$p;
        
        
$var['basedir'] = $this->sitedir;
        
$var['title'] = $this->title;
        
$var['forumurl'] = $this->forumurl;
        
$var['siteurl'] = $this->siteurl;
        
$var['p'] = $p;
        
$var['shout'] = $shout;
        
$var['menu'] = $menu;
        
$var['tquery'] = '5';
        
$var['gzip'] = $this->gzip;
        
        foreach(
$var as $name => $value){
            
$this->smarty->assign($name$value);
        }

        
$page=new $class();
        
$page->page();
        
        
$page $this->smarty->fetch('header.tpl');
        
$pg $this->smarty->fetch('page/'.$_GET['page'].'.tpl');
        
$smarty->assign('page',$pg);
        
$page .= $this->smarty->fetch('index.body.tpl');
        
        
$fine=$this->getmicrotime();
        
$time = ($fine $inizio);
        
        
$this->smarty->assign('time',round($time,3));
        
        
$page .= $this->smarty->fetch('footer.tpl');
        echo 
$page;
    }
}
?>