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>