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?