• User Newbie

    Semplice salvataggio Variabile in sql...bhà

    ciao a tutti... ho il seguente problema.:x :mmm: .vorrei salvare il valore della variabile $Totale del file bookschedacarello.php dentro in mysql all 'interno del database "ordini" appunto sotto il campo "spesa" tramite il file ordina.php ...
    come posso fare una cosa del genere?
    Mi date una mano?

    Questo è il file bookschedacarello.php (quello relativo al tasto ordina una volta visualizzato il carrello)

    [PHP]
    <?php

    require_once( 'Interfaccia.inc.php' );

    class BookSchedaCarrello extends BookScheda {

    public function __construct( $carrello )
    {
    parent::__construct( );
    $prodotti =& $carrello->getProdotti( );
    if( count( $prodotti ) == 0 || $prodotti == null )
    {
    $testo = "Carrello vuoto";
    }
    else if( count( $prodotti ) == 1 )
    {
    $testo = "Nel tuo carrello hai 1 prodotto.";
    }
    else
    {
    $testo = "Nel tuo carrello hai " . count( $prodotti ) . " prodotti.";
    }
    $this->aggiungiRigaSpan3( $testo, "titoloScheda" );
    $this->aggiungiRigaVuota( );
    if( count( $prodotti ) != 0 && $prodotti != null )
    {
    for( $i = 0; $i < count( $prodotti ); $i++ )
    {
    // Crea l'icona di eliminazione
    $elimina =& new htmlLink;
    $eliminaImg =& new htmlImage;
    $eliminaImg->setWidth( "22px" );
    $eliminaImg->setUrl( "images/elimina.png" );
    $eliminaImg->setTitle( "Elimina il prodotto dal carrello" );
    $eliminaImg->setAlternate( "" );
    $url = "eliminaDalCarrello.php?id=$i";
    $elimina->setUrl( $url );
    $elimina->append( $eliminaImg );

    // Crea l'icona di aumento della quantità
    $up =& new htmlLink;
    $upImg =& new htmlImage;
    $upImg->setWidth( "22px" );
    $upImg->setUrl( "images/up.png" );
    $upImg->setTitle( "Aggiungi una unità" );
    $upImg->setAlternate( "" );
    // SISTEMARE L'URL
    $url = "modificaCopie.php?id=$i&copie=su";
    $up->setUrl( $url );
    $up->append( $upImg );

    // Crea l'icona di diminuzione della quantità
    $down =& new htmlLink;
    $downImg =& new htmlImage;
    $downImg->setWidth( "22px" );
    $downImg->setUrl( "images/down.png" );
    $downImg->setTitle( "Elimina una unità" );
    $downImg->setAlternate( "" );
    // SISTEMARE L'URL
    $url = "modificaCopie.php?id=$i&copie=giu";
    $down->setUrl( $url );
    $down->append( $downImg );

    // Crea la tabellina ed appende ad essa le 3 icone
    $tabellina =& new htmlTable;
    $tabellina->setSize( 1, 3 );
    $tabellina->setBorder( 0 );
    $tabellina->Cells[0][0]->append( $elimina );
    $tabellina->Cells[0][1]->append( $up );
    $tabellina->Cells[0][2]->append( $down );

    // Conteggia il costo totale
    $numberProdotticarrello = $prodotti*[copie] ;
    $costoProdottocarrello = $prodotti*[prodotti]->getprezzoVendita( );
    $Singolo = $numberProdotticarrello*$costoProdottocarrello;
    $Totale += $Singolo;

    // Crea il titolo con associata la quantità
    // $titoloProdotto = $prodotti*[prodotti]->getTipologia( ) ." " . $prodotti*[prodotti]->getTitolo( ) ." --> " .$Singolo. "? /". $prodotti*[copie]." unità."." Fin qui il totale è di ? ".$Totale ;
    $titoloProdotto = $prodotti*[prodotti]->getTipologia( ) ." " . $prodotti*[prodotti]->getTitolo( ) ." --> " .$Singolo. "? /". $prodotti*[copie]." unità." ;

    // Aggiunge alla scheda la riga con codice del prodotto, titolo e pulsanti
    // $this->aggiungiRigaSpan111( $prodotti*[prodotti]->getCodice( ), $titoloProdotto, $tabellina, "coloreCodice", "coloreCosto", "" );
    $this->aggiungiRigaSpan111( $titoloProdotto, " Fin qui il totale è di ? ".$Totale, $tabellina, "coloreCodice", "coloreCosto", "" );
    }
    }
    }
    //$this->aggiungiRigaSpan111( "", "", $importo, "", "", "valoreScheda" );
    }

    ?>
    [/PHP]

    questo è il file ordina.php

    [PHP]<?php
    require_once( 'php/boundary/Interfaccia.inc.php' );
    require_once( 'php/database/ArchivioOrdini.class.php' );
    require_once( 'php/database/ArchivioClienti.class.php' );
    require_once( 'php/entity/Carrello.class.php' );
    require_once( 'php/entity/Ordine.class.php' );
    require_once( 'php/entity/Cliente.class.php' );
    session_start( );
    if( isset( $_SESSION['username'] ) && $_SESSION['utente'] == 0 )
    {
    $identificatore = Archivio::connetti();
    $carrello =& new Carrello;
    $carrello->caricaSessione( );
    if( count( $carrello->getProdotti( ) ) != 0 || $carrello->getProdotti( ) != null )
    {
    $username = $_SESSION['username'];
    $cliente = ArchivioClienti::cercaClientePerUsername( $username );
    $ordine =& new Ordine( $cliente, $carrello->getProdotti( ) );
    $ordine->setStato( "pendente" );
    $ordine->Simo= $carrello->getTotale() ;
    $risultato = ArchivioOrdini::inserisciOrdine( $ordine );
    $_SESSION['prodottiCarrello'] = null;
    $scheda =& new BookSchedaOrdine( $ordine, 0 );
    $pagina =& new PaginaClassica;
    $pagina->aggiungiContenutoCn( $scheda );
    $pagina->fine( );
    }
    else
    {
    $link =& new htmlLink;
    $link->setUrl( "apriCarrello.php" );
    $link->redirect( );
    }
    Archivio::disconnetti( $identificatore );
    }
    else
    {
    $link =& new htmlLink;
    $link->setUrl( "login.php" );
    $link->redirect( );
    }
    ?>
    [/PHP]

    Questo invece è il file Ordine.class.php

    [PHP]<?php
    require_once( 'php/entity/Cliente.class.php' );
    require_once( 'php/entity/Prodotto.class.php' );
    require_once( 'php/database/Archivio.class.php' );
    class Ordine {
    private $_id;
    private $_data;
    private $_stato;
    private $_Totale;
    private $_cliente;
    private $_prodotti = array( );
    private function get_array_vars( )
    {
    $vars = array( );
    $vars = $this->get_array_vars_ordine( );
    $vars[prodotti] = $this->getProdotti( );
    return $vars;
    }
    private function get_array_vars_ordine( )
    {
    $vars_ordine = array
    (
    id => $this->getId( ),
    stato => $this->getStato( ),
    Totale => $this->getTotale( ),
    data => $this->getData( ),
    cliente => $this->getCliente( )->getCodiceFiscale( )
    );
    return $vars_ordine;
    }
    private function get_array_vars_partecipazione( )
    {
    foreach( $this->getProdotti( ) as $prodotto )
    {
    $vars_partecipazione[] = array
    (
    ordine => $this->getId( ),
    prodotto => $prodotto[prodotto]->getCodice( ),
    copie => $prodotto[copie]
    );
    }
    return $vars_partecipazione;
    }
    public function __construct( & $cliente, & $prodottiOrdinati )
    {
    $this->setId( 0 );
    $this->setData( "" );
    $this->setTotale( $ordine->Totale );
    $this->setStato( "" );
    $this->setCliente( $cliente );
    $this->setProdotti( $prodottiOrdinati );
    }
    public function setId( $id )
    {
    $this->_id = $id;
    }
    public function setData( $data )
    {
    $this->_data = $data;
    }
    public function setTotale( $Totale )
    {
    $this->_totale = $Totale;
    }
    public function setStato( $stato )
    {
    $this->_stato = $stato;
    }
    public function setSimo( $simo )
    {
    $this->_simo = $simo;
    }
    public function setCliente( & $cliente )
    {
    $this->_cliente = $cliente;
    }
    public function setProdotti( & $prodotti )
    {
    $this->_prodotti = $prodotti;
    }
    public function getId( )
    {
    return $this->_id;
    }
    public function getData( )
    {
    return $this->_data;
    }
    public function getTotale( )
    {
    return $this->_Totale;
    }
    public function getStato( )
    {
    return $this->_stato;
    }

    public function getCliente( )
    {
        return $this->_cliente;
    }
    public function getProdotti( )
    {
        return $this->_prodotti;
    }
    public function creaScheda( )
    {
        $schedaOrdine =& new SchedaOrdine;
        $schedaOrdine->crea( $this->get_array_vars( ) );
        return $schedaOrdine;
    }
    public function salvaDati( )
    {
        Archivio::inserisci( "ordini", $this->get_array_vars_ordine( ) );
        foreach( $this->get_array_vars_partecipazione( ) as $var_partecipazione )
        {
            Archivio::inserisci( "partecipazioni", $var_partecipazione );
        }
    }
    public function modificaStato( $statoStr )
    {
        $tabellaStr = "ordini";
        $valoriArr = array( stato => $statoStr );
        $condizioniArr = array( id => $this->getId( ) );
        Archivio::modifica( $tabellaStr, $valoriArr, $condizioniArr );
    }
    

    }
    ?>
    [/PHP]

    questo è il file ArchivioOrdini.class.php

    [PHP]<?php
    require_once( 'php/database/Archivio.class.php' );
    require_once( 'php/database/ArchivioClienti.class.php' );
    require_once( 'php/database/ArchivioProdotti.class.php' );
    require_once( 'php/entity/Ordine.class.php' );
    abstract class ArchivioOrdini extends Archivio {
    public static function generaIdUnivoco( )
    {
    $selezioni = array
    (
    "id"
    );
    $tabelle = array
    (
    "ordini"
    );
    $condizioni = array
    (
    );
    $risultato = parent::ricerca( $selezioni, $tabelle, $condizioni );
    return parent::contaRighe( $risultato ) + 1;
    }
    public static function inserisciOrdine( & $ordine )
    {
    $ordine->setId( self::generaIdUnivoco( ) );
    $valoriOrdine = array
    (
    "id" => $ordine->getId( ),
    "stato" => $ordine->getStato( ),
    "Totale" => $ordine->getTotale( ),
    "data" => $ordine->getData( ),
    "cliente" => $ordine->getCliente( )->getCodiceFiscale( )
    );
    $risultato1 = Archivio::inserisci( "ordini", $valoriOrdine );
    foreach( $ordine->getProdotti( ) as $prodotto )
    {
    $valoriPartecipazione = array
    (
    "ordine" => $ordine->getId( ),
    "prodotto" => $prodotto[prodotti]->getCodice( ),
    // GESTIRE BENE LE COPIE
    "copie" => $prodotto[copie]
    );
    $risultato2 = Archivio::inserisci( "partecipazioni", $valoriPartecipazione );
    }
    }
    public static function cercaOrdinePerStato( $stato )
    {
    $condizioni = array
    (
    "stato" => $stato
    );
    return self::cercaOrdine( $condizioni );
    }
    public static function cercaOrdine( $condizioniOrdine )
    {
    $selezioniOrdine = array
    (
    );
    $tabelleOrdine = array
    (
    "ordini"
    );
    $risultatoOrdine = Archivio::ricerca( $selezioniOrdine, $tabelleOrdine, $condizioniOrdine );
    $ordiniTrovati = array( );
    for( $i = 0; $i < Archivio::contaRighe( $risultatoOrdine ); $i++ )
    {
    $riga = Archivio::recuperaRighe( $risultatoOrdine );
    $cliente =& new Cliente;
    $prodotti = array( );
    $ordiniTrovati* =& new Ordine( $cliente, $prodotti );
    $ordiniTrovati*->setId( $riga[id] );
    $ordiniTrovati*->setStato( $riga[stato] );
    $ordiniTrovati*->setTotale( $riga[Totale] );
    $ordiniTrovati*->setData( $riga[data] );
    $cliente = ArchivioClienti::cercaClientePerCodiceFiscale( $riga[cliente] );
    $ordiniTrovati*->setCliente( $cliente );
    }
    foreach( $ordiniTrovati as $ordineTrovato )
    {
    $selezioniPartecipazione = array
    (
    "prodotto",
    "copie"
    );
    $tabellePartecipazione = array
    (
    "partecipazioni"
    );
    $condizioniPartecipazione = array
    (
    "ordine" => $ordineTrovato->getId( )
    );
    $risultatoPartecipazione = Archivio::ricerca( $selezioniPartecipazione, $tabellePartecipazione, $condizioniPartecipazione );
    $prodotti = array( );
    for( $i = 0; $i < Archivio::contaRighe( $risultatoPartecipazione ); $i++ )
    {
    $riga = Archivio::recuperaRighe( $risultatoPartecipazione );
    $prodotti*[prodotti] = ArchivioProdotti::cercaProdottoPerCodice( $riga[prodotto] );
    $prodotti*[copie] = $riga[copie];
    }
    $ordineTrovato->setProdotti( $prodotti );
    }
    return $ordiniTrovati;
    }
    public static function modificaStatoOrdine( $stato, $id )
    {
    $valori = array
    (
    "stato" => $stato
    );
    $condizioni = array
    (
    "id" => $id
    );
    parent::modifica( "ordini", $valori, $condizioni );
    }
    }
    ?>
    [/PHP]

    Grazie