Buongiorno a tutti, ho cominciato da poco a programmare in OOP e mi sono intoppato nel creare un metodo di una classe per l'estrazione di tutti i dati che vada bene per tutte le query che vengono eseguite. Per essere più chiaro posto il codice creato:
la parte che non mi funziona è il ciclo while nel metodo fetch sia nel caso object sia nel caso array, se nella index.php includo la classe e lancio i metodi, mi viene a video solo un record del database invece di tutti e 7 presenti. di seguito posto il codice della index
come faccio a eseguire correttamente il ciclo while nel metodo fetch della classe e poter utilizzare tutti i record nella index.php?
grazie in anticipo
PHP:
//preparazione query
public function prepare($query){
$this->query = $query;
return true;
}//fine metodo prepare
//metodo dell'esecuzione della query
public function query(){
if(isset($this->query)){
//controllo se la query è valida
$this->result = $this->mysqli->query($this->query);
//controllo se result è valido
if(!$this->result){
exit('errore nella query %s '.$this->mysqli->error);
return false;
}//fine if nidificata
}//fine if
}//fine metodo esecuzione query
//estrazione dei dati, $type varia a seconda di come voglio i dati estratti: array,oggetto
public function fetch($type){
//processo $type in uno switch
switch($type){
case 'array':
while($row = $this->result->fetch_object()){
return $row;
}
break;
case 'object':
while($row = $this->result->fetch_object()){
return $row;
}
break;
}//fine switch
$this->result->close()
}//fine metodo fetch estrazione dati
la parte che non mi funziona è il ciclo while nel metodo fetch sia nel caso object sia nel caso array, se nella index.php includo la classe e lancio i metodi, mi viene a video solo un record del database invece di tutti e 7 presenti. di seguito posto il codice della index
PHP:
require_once('database/class_login.php');
$obj = new access_db();
$obj->prepare("select * from utenti");
$obj->query();
$row = $obj->fetch('object');
echo $row->nome;
come faccio a eseguire correttamente il ciclo while nel metodo fetch della classe e poter utilizzare tutti i record nella index.php?
grazie in anticipo