• User Newbie

    problema passaggio vettore con classe

    salve a tutti, è un po' che ci sto provando a capire qualcosa, ma non so più dove sbattere il muso.
    vi spiego subito il mio problema e ne sarei grato se sapreste darmi una mano!!

    questa funzione fa parte di una classe managerclienti del file managerclienti.class.php
    [PHP]
    function ListaClienti()
    {
    /*
    * query
    */

        $query ="SELECT * FROM asa_main";
    
        if ($result=mysql_query($query, $this->__db))
                echo "ok Lista Clienti";
          else
                echo "Errore query lista clienti";
    
        //$result = mysql_query($query, $this-> $__db) or die("ma porca puttana");
    
        //$row = mysql_fetch_array($result);
        
        $a = 0;
        $b = 0;
        $vect = 0;
        
          while ( $row = mysql_fetch_array($result) )
        {
            //$vect[numeroMuseo]** = $row**;
            
            for( $b = 0; $b < 16; $b++ ) {    
                $vect[$a]** = $row**; 
            }  
            $a++;          
            /*
            foreach ($row as $lista) {
                echo "\t\t<td>$row[numeroMuseo]</td>\n";
            }*/
        }    
    
        // restituzione lista
    
        return $vect;
    }
    

    [/PHP]

    questa invece di un altro file view.php
    [PHP]
    function creaListaClienti($clienti) {

    $lista = "";
    $tmpsito = "";
    $tmparea = "";
    $tmplivello = "";
    $tmpcontesto = "";
    $tmpillustrazione = "";
    $tmpnote = "";
    $tmpclasse = "";
    $tmptipo = "";
    $tmpmateriale = "";
    $tmpdimensioni = "";
    $tmpscavo = "";
    $tmpluogoc = "";
    $tmpmuseo = "";
    $tmpilllustrazione = "";
    $tmpbibliografia = "";
    $tmpnoteg = "";
    
    // per ogni cliente ...
    for($a = 0, $b = count($clienti); $a < $b; $a++) {
        
        if(strlen($clienti[$a][0]) > 0)
            $tmpsito = "{$clienti[$a][0]}";
        else
            $tmpsito = " ". $a;
                    
        if(strlen($clienti[$a][1]) > 0)
            $tmparea = "{$clienti[$a][1]}";
        else
            $tmparea = " ". $a;
                    
        if(strlen($clienti[$a][2]) > 0)
            $tmplivello = " ". $a;
        else
            $tmplivello = "Non Specificato";
                    
        if(strlen($clienti[$a][3]) > 0)
            $tmpcontesto = "{$clienti[$a][3]}";
        else
            $tmpcontesto = "Non Specificato";
                            
        if(strlen($clienti[$a][4]) > 0)
            $tmpillustrazione = "{$clienti[$a][4]}";
        else
            $tmpillustrazione = "Non Specificato";
    
        if(strlen($clienti[$a][5]) > 0)
            $tmpnote = "{$clienti[$a][5]}";
        else
            $tmpnote = "Non Specificato";
                    
         ...
    
        // per ogni riga della tabella si aggiungono
                // le informazioni appena assegnate
                // più il nome del cliente, subito all'inizio
        $lista .= "<tr><td class=\"nome\">{$tmpmuseo}</td><td>{$tmpsito}</td><td>{$tmparea}</td><td>{$tmplivello}</td><td>{$tmpcontesto}</td><td>{$tmpillustrazione}</td><td>{$tmpnote}</td><td>{$tmpclasse}</td><td>{$tmptipo}</td><td>{$tmpmateriale}</td><td>{$tmpdimensioni}</td><td>{$tmpscavo}</td><td>{$tmpluogoc}</td><td>{$tmpilllustrazione}</td><td>{$tmpbibliografia}</td><td>{$tmpnoteg}</td></tr>";
    }
    
    // ritorno tabella
    return $lista;
    

    }

    $managerClienti = new ManagerClienti();
    $vettore = $managerClienti -> ListaClienti();
    
    echo "" . creaListaClienti($vettore) ;
    

    [/PHP]

    questa funzione non fa altro che prendere il vettore creato dalla funzione precedente, controllarlo e stamparlo a video.
    Qual è il punto?
    che non funziona..
    non riesco a far passare il vettore creato a questa funzione!!
    e non capisco perchè??
    utilizzo un database mysql, ho fatto tutte le connessioni necessarie e funzionano! perchè la funzione per inserire i dati funziona perfettamente!!

    sapreste aiutarmi??
    grazie!

    Nep


  • User Attivo

    Intanto sostituisci:

    $vect = 0;

    con

        $vect = array();
    

    Che è più corretto.
    Poi prima di:

    echo "" . creaListaClienti($vettore) ;

    Prova a mettere il comando:

    print_r($vettore);

    Così vedi se te lo ha generato correttamente.
    Se lì è corretto allora è un problema della creaListaClienti, altrimenti della ListaClienti


  • User Newbie

    grazie dell'aiuto..
    il problema era nell'array()
    distrazione!!

    grazie ancora!

    nep


  • Super User

    scrivendo:
    [PHP]print_r($managerClienti -> ListaClienti())[/PHP]
    Il vettore viene visualizzato?

    Scusate avevo la discussione aperta da qualche minuto 😞


  • User Newbie

    non ho provato print_r ma ho semplicemente cambiato il valore della variabile facendola diventare un vettore!!
    nep