Il mio obiettivo è quello di visualizzare i dati della tabella categorie che son all'interno di un database..
ho creato le seguenti classi:
E in un altro file:
La pagina principale:
Il problema è che richiamando il metodo "visualizza categorie" non funziona.
Se all'interno del metodo però tolgo il "foreach" stampa solo una categoria (con descrizione e immagine)..
Perchè?
ho creato le seguenti classi:
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
;
}
}
E in un altro file:
PHP:
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 principale:
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.
Se all'interno del metodo però tolgo il "foreach" stampa solo una categoria (con descrizione e immagine)..
Perchè?