Errore con classe

di il
2 risposte

Errore con classe

Vorrei visualizzare i dati della tabella categorie (categoria,descrizione,immagine) che son all'interno di un database, usando le classi.

Ho creato un file chiamato "class.categorie.php"


class Categoria{ 

    private $categoria; 
    private $descrizione; 
    private $immagine; 
   
         
    public function __construct($categoria=null,$descrizione=null,$immagine=null){ 
       
        $this->categoria=$categoria; 
        $this->descrizione=$descrizione; 
        $this->immagine=$immagine; 
       
         
    } 


    public function setCategoria($categoria){ 
        $this->categoria=$categoria; 
    } 
     
    public function getCategoria(){ 
        return $this->categoria; 
    } 
    public function setDescrizione($descrizione){ 
        $this->descrizione=$descrizione; 
    } 
     
    public function getDescrizione(){ 
        return $this->descrizione; 
    } 
    public function setImmagine($immagine){ 
        $this->immagine=$immagine; 
    } 
     
    public function getImmagine(){ 
        return $this->immagine; 
    } 
    public function __toString() { 
        return  
                ",categoria: ".$this->categoria 
                .", descrizione: ".$this->descrizione 
                .", immagine: ".$this->immagine 
                ; 
    } 


}  

un file "class.categorieDAL"

include 'class.categorie.php'; 
class categorieDAL { 
   
     public function __construct(){ 

         
    } 
     
     
  public function visualizzaCategorie() 
  { 
       global $server; 
    global $username; 
    global $password; 
    global $database_name; 
    global $txt; 
     
    $connect = mysql_connect($server, $username, $password) or die("DBMS non trovato"); 

    mysql_selectdb($database_name, $connect) or die("Database $database_name non trovato"); 

    $query = "Select categoria,descrizione,immagine from categorie"; 

    $rs = mysql_query($query, $connect) or die("query fallita"); 
    
   $elenco = array(); 
    while ($row = mysql_fetch_assoc($rs)) { 
        extract($row); 
        $elenco= new Categoria($categoria,$descrizione,$immagine); 
    
        foreach($elenco as value) 
   { 
  $txt=<<<ABC 
      <div> $categoria</div>   
          <div> $descrizione</div>   
 <div>  <img src='img/$immagine' ></div> 
ABC; 
       
    }   
       mysql_close($connect); 
     
    return $txt; 
               
    
  }  
}  
}  
La pagina html:


<html>
<head>

  <title>Prova</title>
  
  
</head>

<body>

<section id="contenuto">

 
<?php
include_once "config.php";
include_once "class.categorieDAL";

$cat=new categorieDAL();
$risultato=$cat->visualizzaCategorie();
            echo $risultato;
?>

</section>

</body>
</html>
Il problema è che richiamando il metodo "visualizza categorie" non funziona.
Compare l'errore nel file "class.categorieDAL nella riga dove ho inserito il foreach:
Parse error: syntax error, unexpected ')', expecting '(' in C:\xampp\htdocs\SitoOggetti\class.categorieDAL on line 31.



Se però tolgo il ciclo stampa i dati dell'ultima categoria..
Perchè?Come faccio a visualizzare tutte le categorie?

2 Risposte

  • Re: Errore con classe

    Non utilizzo il PHP da molto, ma non dovrebbe essere:
    foreach($elenco as $value)
    ?
  • Re: Errore con classe

    tuixte ha scritto:


    Non utilizzo il PHP da molto, ma non dovrebbe essere:
    foreach($elenco as $value)
    ?
    E' vero..avevo dimenticato il $ anche se...non stampa nulla
Devi accedere o registrarti per scrivere nel forum
2 risposte