Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Gestire le variabili per creare un registratore di cassa.

    Ciao a tutti,
    vengo subito al dunque.

    Mi trovo alle prese con la creazione di un registratore di cassa, ciò comporta che ogni volta che viene "sparato un codice a barre" le variabili che prendono i valori devo andare ad aggiungersi ad una lista(fattura) che poi servirà per calcolare il totale.

    Ogni volta che viene inserito il bar code viene eseguita una query che prende dal DB il nome dell'articolo e il prezzo e fin qui tutto bene, il problema sorge quando vado ad inserire un nuovo articolo, naturalmente viene eseguita una nuova query e i vecchi valori vengono cancellati dalla memoria.

    Ora vi chiedo, come posso fare per memorizzare le variabili astratte dalla query e lasciarle in memoria per essere presenti nella lista?
    Ho cercato di fare in modo si salvare il codice a barre in una variabile di sessione ma ogni volta che digito un nuovo codice il valore precedente viene sostituito lasciando in sessione solo il nuovo.

    Spero che qualcuno mi possa aiutare.
    Grazie in anticipo!!!

    Qui di segiuto riporto il codice:

    codice:
    <?php
    //inclusione del file per la connessione al db
    require_once 'dominio/PDO.php'; 
    
    session_start();
    
    if(isset ($_POST['code'])){
        
    
        $_SESSION['code'] = $_POST['code'];
        
        $code = $_SESSION['code'];
        
    }else{
        
        $code = '';
        
    }
    
    ?>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
        <head>
    
            <link href="css/style.css" rel="stylesheet" type="text/css" />
            <link rel="shortcut icon" href="img/favicon.ico" />
    
            <!--[if lt IE 9]>
            <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
            <![endif]-->
            
            
             <script type="text/javascript">
                 function setFocus(id) {
                    document.getElementById(id).focus();
                 }
             </script>
            
    
            <title>Store Management</title>
    
        </head>
    
        <body>
            
            <div id="main">
            
                <div id="header">
                    
                    <div id="logo">
                        [img]images/logo.png[/img]
                    </div>
                    
                    <div id="menu">
                        <span>[img]images/cassa.png[/img]</span>
                        <span>[img]images/inventario.png[/img]</span>
                        <span>[img]images/articoli.png[/img]</span>
                        <span>[img]images/logout.png[/img]</span>
                    </div>
    
                </div>
    
    
            
                <div id="center">
                    
                    <div id="form-s">
                        
                        <script type="text/javascript">
                        window.onload = function() {
                        setFocus('focus');
                        };
                        </script>
                        
                        <form method="post" action="">
                            <input id="focus" type="text" name="code" value="" />
    
                            <label>Code</label>
                        </form>
                        
                    </div>
                    
                    <div id="fattura">
                        
                        <form method="post" action="">
                        
                            <table id="fattura-t">
    
                                <tbody>
    
                                    <tr>
                                        <td class="code">Cod. Prodotto</td>
                                        <td class="art">Articoli</td>
                                        <td class="prezzo">Prezzo</td>
                                    </tr>
                                    
                                    <?php
                    
                                    try{
    
                                    $sql = "SELECT * FROM articoli WHERE code = '$code'";
    
                                    //Preparo le strutture per contenere la query
                                    $stmt = $dbh->prepare($sql);
    
                                    //Controllo se la query è andata a buon fine
                                    if (! $stmt->execute() ) echo "Errore nella query.";
    
                                    /* Associo un campo ad una variabile */
                                    $stmt->bindColumn('code', $code_bar);
                                    $stmt->bindColumn('articolo', $articolo);
                                    $stmt->bindColumn('prezzo', $prezzo);
    
                                    while ($row = $stmt->fetch(PDO::FETCH_BOUND)) {
                                    
                                    echo '<tr>';
                                        echo '<td class="code">'.$code_bar.'</td>';
                                        echo '<input type="hidden" name="cod" value="'.$code_bar.'" />';
                                        echo '<td class="art">'.$articolo.'</td>';
                                        echo '<input type="hidden" name="articolo" value="'.$articolo.'" />';
                                        echo '<td class="prezzo">'.$prezzo.' €</td>';
                                        echo '<input type="hidden" name="prezzo" value="'.$prezzo.'" />';
                                    echo '</tr>';
                                    
                                    }
                            
                                    }
                                    //Nel caso in cui ci siano errori, li cattura nella variabile $myerror e li stampa 
                                    catch (PDOException $myerror)
                                    {
                                            print "Problemi nella connessione al database: 
    " . $myerror->getMessage() . "
    ";
                                    }
    
                                ?>
    
                                    <tr>
                                        <td class="code"></td>
                                        <td class="art"></td>
                                        <td class="prezzo">
    
    </p></td>
                                    </tr>
    
                                    <tr>
                                        <td class="code"></td>
                                        <td class="art"></td>
                                        <td class="prezzo">Totale</td>
                                    </tr>
                                    
                                    <?php 
                                    ?>
    
                                    <tr>
                                        <td class="code"></td>
                                        <td class="art"></td>
                                        <td class="prezzo">$totale</td>
                                    </tr>
    
                                    <tr>
                                        <td class="code"></td>
                                        <td class="art"></td>
                                        <td class="prezzo">
    
    </p></td>
                                    </tr>
                                    
                                    <tr>
                                        <td class="code">Annulla</td>
                                        <td class="art"></td>
                                        <td class="prezzo">
                                            <input type="submit" name="submit" value="Concludi" />
                                        </td>
                                    </tr>
    
                                </tbody>
    
                            </table>
                            
                        </form>
                        
                    </div>
    
                </div>
    
                <div id="footer">
    
                </div>
    
            </div>
            
        </body>
    </html>

  2. #2
    Secondo me ti conviene salvare i dati in un file txt o xml...nella variabile di sessione salvi invece il nome del file (txt o xml) dove salvi i dati...


    Se invece preferisci comunque usare le sessioni allora puoi provare a rendere bidimensionale l'array di sessione...così:
    Codice PHP:

    <?php
    //inclusione del file per la connessione al db
    require_once 'dominio/PDO.php'

    session_start();

    if(isset (
    $_POST['code'])){
        
       
    //contatore
       
    if(isset ($_SESSION['count'])) 
           
    $_SESSION['count'] += 1;
       else 
           
    $_SESSION['count'] = 0;


        
    $_SESSION['code'][$_SESSION['count']] = $_POST['code'];
        
        
    $code $_POST['code'];
        
    }else{
        
        
    $code '';
        
    }
    ?>

    a questo punto quando l'utente aggiunge il primo codice lo ritrovi dentro
    $_SESSION['code'][0]
    il secondo codice dentro
    $_SESSION['code'][1]
    e così via...

  3. #3
    Grazie, ora lo provo

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.