Ciao a tutti, avendo iniziato da poco ad approcciarmi alla programmazione ad oggetti, ho realizzato questa semplice classe per ottenere ,a partire da una query, tutti i risultati dei vari campi di una tabella.

Mi potreste dire se l'approccio è corretto?
Codice PHP:
class Database {
    private 
$_rs;
    private 
$_numero_campi;
    private 
$_nome_campo;
    private 
$_valore_richiesto;
    private 
$_valore;
    public 
$query;
    public 
$_campo_richiesto;

    public function 
__construct()
    {
        
// imposto le variabili per la connessione al database ed effettuo il collegamento
        
$hostname "localhost";
        
$database "xxx";
        
$dusername "root";
        
$dpassword "xxx";
        
$connetti mysql_connect($hostname$dusername$dpassword); 
        
// if (!is_resource($this->_connetti)) {
        // throw new Exception("Impossibile collegarsi al database!");
        // }
        
$seleziona_db mysql_select_db($database$connetti); 
        
// if (!($this->_seleziona_db)) {
        // throw new Exception("Impossibile usare il database $this->_database!");
        // }
            
}

    private function 
ottieni_nomi_campi()
    {
        
// a partire dalla query ,ottengo i nomi di tutti i campi di una determinata tabella
        
$this->rs mysql_query($this->query);
        
$this->_numero_campi mysql_num_fields($this->rs);
        for(
$i 0;$i $this->_numero_campi;$i++) {
            
$this->_nome_campo[$i] = mysql_field_name($this->rs$i);
        }
    }
    private function 
verifica_esistenza_campo()
    { 
        
// partendo dal valore della proprietà, verifico se esiste il campo richiesto
        
if (in_array($this->_campo_richiesto$this->_nome_campo)) {
            return 
1;
        } else return 
0;
    }

    private function 
valore_campo($numero_riga$campo)
    { 
        
// ottengo il valore di un campo, considerando il numero della riga che mi interessa
        
mysql_data_seek($this->rs$numero_riga);
        
$_valore mysql_fetch_object($this->rs);
        
$_valore_richiesto $_valore->$campo ;
        return 
$_valore_richiesto ;
    }
    private function 
formatta($array_valori)
    { 
        
// formatto secondo la proprietà formatta ciascun campo richiesto sostituendo il valore al nome uguale al campo
        
$formatta $this->formatta;
        
$array_campi $this->campo_richiesto;
        while (list(, 
$this->_campo_richiesto) = each($array_campi)) {
            while (list(, 
$valore) = each($array_valori)) {
                
$formatta eregi_replace($this->_campo_richiesto$valore$formatta);
            }
        }
        return 
$formatta;
    }
    public function 
main()
    { 
        
// funzione principale che richiama le altre
        // richiamo la funzione che trova i nomi dei campi partendo dalla tabella
        
$this->ottieni_nomi_campi(); 
        
// a seconda del numero di risultati inizio un ciclo per ogni risultato della query
//nb questo ciclo ovviamente sarà legato al numero di risultati ottenuto
        
for ($i 0;$i <= 5;$i++) {
            
// creo array_campi per non svuotare l'array campo_richiesto
            
$array_campi $this->campo_richiesto;
            
// array_risultato contiene un array con il risultato di ciascuna riga per ogni campo richiesto
            
$array_risultato = array(); 
            
// per ciascun campo richiesto...
            
while (list(, $this->_campo_richiesto) = each($array_campi)) {
                
// ...verifico l'esistenza
                
if ($this->verifica_esistenza_campo()) {
                    
// ed eventualmente assegno il risultato nell'array che passerò alla formattazione
                    
$array_risultato[] = $this->valore_campo($i$this->_campo_richiesto);
                } else die (
"$this->_campo_richiesto è un Campo inesistente!");
            }
            
// $array_risultato è un array che contiene tutti i risultati di una determinata riga
            
echo $this->formatta($array_risultato);
        }
    }

Questa è l'implementazionw
Codice PHP:
$prova = new Database();
$prova->query ="select * from categoria";
$prova->campo_richiesto =array("nome","id_categoria");
$prova->formatta="[*][b]Questa è la categoria id_categoria   \"nome\"[/b]";
$prova->main(); 
Come approccio va bene?Fatemi sapere, grazie!