Errore con classe

controsenso

Utente Attivo
26 Nov 2014
36
1
0
Il mio obiettivo è quello di visualizzare i dati della tabella categorie che son all'interno di un database..

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è?
 

filomeni

Moderatore
Membro dello Staff
MOD
14 Mag 2006
1.054
6
38
53
Roseto degli Abruzzi (TE)
www.sitiweb.cloud
Ciao, se il tuo obiettivo è semplicemente visualizzare il contenuto della tabella "categorie", non capisco perchè fai sta sorta di casino, quando basta solo una query con un ciclo while e stampi a monitor i risultati...
PHP:
$query = "Select * FROM categorie";
$rs=@mysql_query($query) or die("Errore query Database");
while($riga=mysql_fetch_array($rs))
    {
    $categoria=$riga["categoria"];
    $descrizione=$riga["descrizione"];
    $immagine=$riga["immagine"];

echo "<div> $categoria</div>  
         <div> $descrizione</div>  
         <div><img src='img/$immagine' ></div>";

    }
 
Ultima modifica:

controsenso

Utente Attivo
26 Nov 2014
36
1
0
Ciao, se il tuo obiettivo è semplicemente visualizzare il contenuto della tabella "categorie", non capisco perchè fai sta sorta di casino, quando basta solo una query con un ciclo while e stampi a monitor i risultati...
PHP:
$query = "Select * FROM categorie";
$rs=@mysql_query($query) or die("Errore query Database");
while($riga=mysql_fetch_array($rs))
    {
    $categoria=$riga["categoria"];
    $descrizione=$riga["descrizione"];
    $immagine=$riga["immagine"];

echo "<div> $categoria</div>  
         <div> $descrizione</div>  
         <div><img src='img/$immagine' ></div>";

    }

Perché lo devo realizzare utilizzando le classi..
:(
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Ciao, qui c'è un errore
PHP:
foreach($elenco as value)
manca il dollaro prima di value
 

Longo8

Utente Attivo
28 Mar 2011
1.694
0
36
Non credo tu abbia bisogno del foreach in quel caso.
già il ciclo while che ti permette di stampare tutte le categorie tirate fuori dalla query.
 
Discussioni simili
Autore Titolo Forum Risposte Data
Jensen Errore di sintassi con DELETE PHP 3
P errore 404 con javascript Javascript 2
R Navigare sito con cURL, mi restituisce errore PHP 0
L File CSV con app inventor da errore Sviluppo app per Android 2
I Errore 80040220 nella newsletter con paginazione Classic ASP 0
MarcoGrazia [PHP] Download di file con errore all'interno. PHP 1
Tommy03 Errore invio email con PHP PHP 1
Max 1 Errore driver con lettore di smart card Hardware 6
A [PHP] errore 404 e invio mai path pagina con link interrotto PHP 2
3_g errore con mysql insert in PDO PHP 29
M [MySql - VB6 sp6] Problema connessione db con alcuni pc (errore Lost connection to MySQL server...). MySQL 1
M [MySQL] Solito errore #1064 con poca comprensione MySQL 14
L [PHP] upload con errore PHP 2
auritidesign Errore con mysqli_fetch_array PHP 3
C [MySQL] errore nell'importazione tabella con file csv MySQL 0
6 Errore pubblicazione sito con Muse Webdesign e Grafica 0
romeocharly errore del codice html con javascript durante ottimizzazione websitex5 Javascript 7
O errore INSERT con oggeto datetime MySQL 2
napuleone phpmyadmin problemi con windows 10 errore 200 PHP 0
M errore lettura data nel mysql con funzione Where PHP 1
1 Errore di istallazione programma vb2010 con access in allegato MS Access 8
C Form con dentro div errore validatore w3c HTML e CSS 6
R Errore di comunicazione con database Mysql PHP 5
asevenx validazione W3C con errore utf-8 HTML e CSS 3
asevenx Errore di connessione e permessi in scrittura file .xml con Aruba Windows Hosting 8
M Errore ListView con ID "android.R.id.list" Sviluppo app per Android 1
J Problema con questo errore Error was: Undefined index: title linea 9 PHP 21
Z Errore con il register PHP 2
E errore php con database mysql PHP 0
V problemi con lock tables (errore 1100) come fare? MySQL 0
A Errore con header ( Location...) PHP 4
F errore con wordpress plug in WordPress 0
valient13 Errore con le emotions [javascript + php] Javascript 0
F Errore configurazione APACHE con PHP Apache 1
neo996sps Errore con script per invio mail PHP 3
M errore in IE con array.style Javascript 0
E errore con internet explorer Windows e Software 2
A errore : "550 cannot stor no permission" per pubblicare il sito con expression web Webdesign e Grafica 0
A errore : "550 cannot stor no permission" per pubblicare il sito con expression web HTML e CSS 1
C Errore 678 con modem alice gate 2 plus wifi Reti LAN e Wireless 3
neo996sps Errore su connessione a DB con VB2008 express Visual Basic 1
asevenx errore con l'inserimento dei dati nel database, campi vuoti Classic ASP 1
G errore con div container HTML e CSS 1
neo996sps Errore visualizzazione sito con explorer HTML e CSS 1
asevenx errore durante l'invio di email con CDONTS Classic ASP 8
F Query con errore Database 3
wer16 errore in ie con float left HTML e CSS 2
Y strano errore con immissione nickname e password PHP 8
G problemi con l'errore 0x80040E14 Classic ASP 4
S Pagine di errore con redirect PHP 7

Discussioni simili