Funzione che risulta sempre 0

  • Creatore Discussione Creatore Discussione Emix
  • Data di inizio Data di inizio
ciao
certo che puoi
PHP:
<?php
session_start();
$pinco=array('aaa',2,'3', 4.5, '7.888');
$_SESSION['pallo']=$pinco;
var_dump($_SESSION['pallo']);
?>
uotput
array(5) { [0]=> string(3) "aaa" [1]=> int(2) [2]=> string(1) "3" [3]=> float(4.5) [4]=> string(5) "7.888" }
 
ciao
quando estrai l'articolo con il barcode non c'è il suo prezzo?
per caso il suo prezzo è 'Vendita'=>$righi['Vendita'] ?
ti dico questo perchè nelle caselle di input tu non hai ancora definito lo sconto o il valore di sconto, il prezzo quindi dovrebbe apparire come prezzo unitario di base.
poi se inserisci o lo sconto o il valore di sconto calcoli il prezzo finale
se è così
1) passerei il prezzo calcolato in sessione
PHP:
<?php
//..........
  }
//$formatted[$i] = sprintf("%01.2f", $prezzosconto[$i]); arrotonda a 2 compreso lo 0
    $_SESSION['prezzo'][$i]=$prezzosconto[$i];
	echo "per ".$prezzo[$i]." il prezzo scontato è: ". $prezzosconto[$i] ."<br />"; 
}}
?>
2) prima delle caselle di input
PHP:
<?php
//.......
foreach($barcodeart_da_mostrare as $k)
        if(isset($_SESSION['prezzo'][$i])){
			$prezzosconto[$i]=$_SESSION['prezzo'][$i];
		}else{
			$prezzosconto[$i]=$prezzo_base[$i];//qui non so se hai la possibilità di ricavare questa
		}
		echo ' 
		......
		';
//......
?>
ricordati che se usi le sessioni la prima istruzione deve essere session_start()

Si il prezzo che ricavo dal DB è quello che hai letto te.... Ma non capisco in che modo lo ripassi ogni volta...
 
uhm avevo pensato anche io alle sessioni... ma posso avere piu sessioni contemporanee per la stessa variabile??? Perchè a me ogni eventuale riga di inserimento è un prezzo sconto in sessione... non so se mi spiego.....

Nel senso.. se cerco 4 barcode avrò:

$_SESSION['prezzo'] 1
$_SESSION['prezzo'] 2
$_SESSION['prezzo'] 3
$_SESSION['prezzo'] 4

ciao
non proprio così, ma
$_SESSION['prezzo'] [1]
$_SESSION['prezzo'] [2] ecc...
 
ciao
guarda che ho scritto così
$prezzosconto[$i]=$prezzo_base[$i];//qui non so se hai la possibilità di ricavare questa
perchè non sapevo quale era il prezzo base, ma se il prezzo base è
...'Vendita'=>$righi['Vendita']...
PHP:
 <?php
//.......
foreach($barcodeart_da_mostrare as $k)
        if(isset($_SESSION['prezzo'][$i])){
            $prezzosconto[$i]=$_SESSION['prezzo'][$i];
        }else{
            $prezzosconto[$i]=$barcodeart[$k]['Vendita'];
        }
        echo ' 
        ......
        ';
//......
?>
dovrebbe essere così, ma faccio un po' di fatica a capire cosa contengono le varie variabili non potendo provarlo, io ho messo come indice $i ma potrebbe essere $k, comunque li nel $prezzosconto[$i] se la sessione esiste ci va il prezzo del calcolato, se non esiste il prezzo iniziale
 
ciao Borgo,
scusa se ti risp solo ora ma non sono stato a casa nel weekend...
Stavo rivedendo ciò che mi hai scritto... Ma se posiziono quel codice li, come faccio a farlo vedere? nel senso.. Io il prezzo lo ricavo da quella serie di comandi, in cui controlla il barcode e riempie i campi formando la form... Se quel comando lo mettiamo li non ricavo nulla, perche il prezzo in sessione c'è nel momento che io premo Subtotale...
Per fare una prova concreta vai qui : http://www.laviadellanima.com/prove/maschera_vendite.php se ti chiede user e pwd, inserisci webmaster nome e pwd prove ti dovrebbe riportare in automatico alla maschera... come barcode inserisci : 1920100216004 oppure 7640141078778
 
la mia domanda è... se riempiamo la variabiale $_SESSION['prezzo'][$i], appena premo subtotale, se mettiamo un echo sul form del prezzosconto, non dovrebbe compilarsi, dato che la trova in sessione? questo perchè noi col subtotale in teoria e come se refreshassimo la pagina no?
 
Ho aggiunto all'if il prezzo in sessione:

PHP:
<?php

if(isset($_POST['subtotale'])){
$prezzosconto=$_POST['prezzosconto'];
$prezzo=$_POST['prezzo'];
$scontoperc=$_POST['scontoperc'];
$scontoval=$_POST['scontoval'];
$quantita=$_POST['quantita']; 
$conta=count($prezzo);
for ($i=0;$i<$conta;$i++){ 
    if($scontoperc[$i] == "0" && $scontoval[$i] == "0"){
        //non c'è sconto
        //$scontoperc[$i]=0;//queste due non servono più
        //$scontoval[$i]=0;
        $prezzosconto[$i]=$prezzo[$i]*$quantita[$i];
		$_SESSION['prezzosconto'][$i]=$prezzosconto[$i];
    }elseif($scontoperc[$i] == "0" && $scontoval[$i] != "0"){
        //non c'e la percentuale di sconto ma il valore (totale?) dello sconto
        //$scontoperc[$i]=0;
        $prezzosconto[$i] = (($prezzo[$i]*$quantita[$i]) - $scontoval[$i]);
		$_SESSION['prezzosconto'][$i]=$prezzosconto[$i];
    }elseif($scontoperc[$i] != "0"){
       $percentuale[$i]=(($prezzo[$i]*$scontoperc[$i])/100);
       $prezzosconto[$i] = ($prezzo[$i] - $percentuale[$i]) ;
       $prezzosconto[$i] = ($prezzosconto[$i] * $quantita[$i]);
	   $_SESSION['prezzosconto'][$i]=$prezzosconto[$i];
    }
//$formatted[$i] = sprintf("%01.2f", $prezzosconto[$i]); arrotonda a 2 compreso lo 0
    echo "per ".$prezzo[$i]." il prezzo scontato è: ". $_SESSION['prezzosconto'][$i] ."<br />"; 
}}
?>
Ora effettivamente quando vado a premere subtotale, mi fa vedere tutti e tre i prezzi nell'echo che abbiamo messe, ma dentro il form del prezzo sconto no -.-
Il prezzo sconto è formato cosi :

PHP:
<?php
<td><input type="text" placeholder="P.Scontato" name="prezzosconto[]" id="prezzosconto" size="6" value="'.$_SESSION['prezzosconto'][$i].'"></td> 
?>
 
ho fatto altre prove per verificare che la sessione veniva passata, e cosi è...
Ho anche provato a mettere un $i=0; prima del ciclo e un $i++; alla fine... Ma niente mi restituisce una cosa strana... posto immagine

Immagine2.png
 
ok... ultimo script :

PHP:
<?php
if(isset($_POST['barcodeart_new']) && !empty($_POST['barcodeart_new']))
    $queryart = 'SELECT * FROM articoli WHERE Barcode=\''.mysql_real_escape_string($_POST['barcodeart_new']).'\'';    //se i barcode sono interi, si possono evitare gli apici \'
else if(isset($_POST['barcodeart_vecchi'])&& !empty($_POST['barcodeart_vecchi']))
    $queryart = 'SELECT * FROM articoli WHERE 0 ';    //il WHERE 0 è una bruttura... se non funziona, si può cercar di far di meglio

if(isset($_POST['barcodeart_vecchi']))
    foreach($_POST['barcodeart_vecchi'] as $barcode)
        $queryart .= ' OR Barcode=\''.mysql_real_escape_string($barcode).'\' ';    //se i barcode sono interi, si possono evitare gli apici \'
if(isset($queryart))    
    $result = mysql_query($queryart) or die('Query failed: ' . mysql_error() . "<br />");
?> 
<table> 
<?php
if(isset($result))
{
    while($righi=mysql_fetch_array($result))
$barcodeart[$righi['Barcode']] = array('Descrizione'=>$righi['Descrizione'], 'Vendita'=>$righi['Vendita'],'UM'=>$righi['UM'],'Quantita'=>$righi['Quantita'],'Fornitore'=>$righi['Fornitore'],'Codice'=>$righi['Codice'],'Prezzo'=>$righi['Prezzo']);    //creo un nuovo array dove salvo per ogni barcode, i dati.
$barcodeart_da_mostrare = array();
if(isset($_POST['barcodeart_vecchi']))
$barcodeart_da_mostrare = $_POST['barcodeart_vecchi'];    //metto gli elementi vecchi realmente mostrati
if(isset($_POST['barcodeart_new'])&& !empty($_POST['barcodeart_new'])){
 $queryart =mysql_query("SELECT * FROM articoli WHERE Barcode='".mysql_real_escape_string($_POST['barcodeart_new'])."'");  
    //se $esiste == 0 non cè
if(mysql_num_rows($queryart))//esiste
$barcodeart_da_mostrare[] = $_POST['barcodeart_new'];    //aggiungo quello nuovo (prima bisognerebbe far il controllo per vedere se esiste nel db)
}
$i=0;
foreach($barcodeart_da_mostrare as $k)
        echo '
        <tr> 
        <td><input type="text" placeholder="Barcode" name="barcodeart_vecchi[]" id="barcodeart" size="11" align="center" value="'.$k.'"></td> 
        <td><input type="text" placeholder="Descrizione" name="descrizione[]" id="descrizione" size="32" value="'.$barcodeart[$k]['Descrizione'].'"></td> 
        <td><input type="text" style="text-align:center" placeholder="Qnt" name="quantita[]" id="quantita" size="3" value="1"></td> 
        <td><input type="text" placeholder="Prezzo" name="prezzo[]" id="prezzo" size="5" value="'.$barcodeart[$k]['Vendita'].'" ></td> 
        <td><input type="text" placeholder="Sc %" name="scontoperc[]" id="scontoperc" size="3" value="0"></td> 
        <td><input type="text" placeholder="Sc VAL" name="scontoval[]" id="scontoval" size="4" value="0"></td>'; 
		echo '<td><input type="text" placeholder="P.Scontato" name="prezzosconto[]" id="prezzosconto" size="6" value="'.$_SESSION['prezzosconto'][$i].'"></td>';   
			echo '<td><input type="hidden" name="fornitore[]" id="fornitore" size="100" value="'.$barcodeart[$k]['Fornitore'].'"></td> 
        <td><input type="hidden" name="codice[]" id="codice" size="100" value="'.$barcodeart[$k]['Codice'].'"></td> 
		<td><input type="hidden" name="reparto[]" id="reparto" size="100" value="'.$barcodeart[$k]['Reparto'].'"></td> 
		<td><input type="hidden" name="UM[]" id="UM" size="100" value="'.$barcodeart[$k]['UM'].'"></td> 
       </tr> 
        ';   
		$i++;                 
} //chiusa la while proviamo...
if(isset($_POST['subtotale'])){
$prezzosconto=$_POST['prezzosconto'];
$prezzo=$_POST['prezzo'];
$scontoperc=$_POST['scontoperc'];
$scontoval=$_POST['scontoval'];
$quantita=$_POST['quantita']; 
$conta=count($prezzo);
for ($i=0;$i<$conta;$i++){ 
    if($scontoperc[$i] == "0" && $scontoval[$i] == "0"){
        //non c'è sconto
        //$scontoperc[$i]=0;//queste due non servono più
        //$scontoval[$i]=0;
        $prezzosconto[$i]=$prezzo[$i]*$quantita[$i];
		$_SESSION['prezzosconto'][$i]=$prezzosconto[$i];
    }elseif($scontoperc[$i] == "0" && $scontoval[$i] != "0"){
        //non c'e la percentuale di sconto ma il valore (totale?) dello sconto
        //$scontoperc[$i]=0;
        $prezzosconto[$i] = (($prezzo[$i]*$quantita[$i]) - $scontoval[$i]);
		$_SESSION['prezzosconto'][$i]=$prezzosconto[$i];
    }elseif($scontoperc[$i] != "0"){
       $percentuale[$i]=(($prezzo[$i]*$scontoperc[$i])/100);
       $prezzosconto[$i] = ($prezzo[$i] - $percentuale[$i]) ;
       $prezzosconto[$i] = ($prezzosconto[$i] * $quantita[$i]);
	   $_SESSION['prezzosconto'][$i]=$prezzosconto[$i];
    }
//$formatted[$i] = sprintf("%01.2f", $prezzosconto[$i]); arrotonda a 2 compreso lo 0
    echo "per ".$prezzo[$i]." il prezzo scontato è: ". $_SESSION['prezzosconto'][$i] ."<br />"; 
	var_dump($_SESSION['prezzosconto']);
}}
?>
 
ciao
sto cercando di guardare, però per capirsi meglio racchiudi i blocchi di istruzioni tra {.....} anche se sono in una sola riga indentando e riposta.
comunque postalo completo hai messo session_start? ci sono dei campi di input e il form?
ci sono alcune cose che non mi tornano, ma forse è perchè non posso provarlo. vedo dei contatori ma non vedo dove li usi $i nel foreach

p.s.
per ora sotituisci WHERE 0 con WHERE 1=1
 
Allora riposto la pagina per intero, anche se devo togliere la parte css altrimenti mi dice che supero i caratteri.

PHP:
<?php
session_start();
if(!isset($_SESSION['user']) || !isset($_SESSION['pwd'])){//verifichi che esistano entrambe
    header("location:login.php");
    exit();
} 
print_r( $_SESSION );
include('connect.php');
?>
  <?php 
   $querytrans=mysql_query("SELECT * FROM Transazioni ");
   $righe=mysql_fetch_array($querytrans);
   $transazioni=$righe[transazioni]+1;
   $_SESSION['transazioni'] = $transazioni;
   ?>
   <br>
   <br>
  <table align="left">
   <tr><td>
   <b><font size="2">OPERATORE</font> <font color="#FFFFFF" size="2"><?php echo $_SESSION[user]; ?></font></b></td></tr>
   <tr><td>
  <b><font size="2">DATA</font>  <font color="#FFFFFF" size="2"><?php echo (date("d/m/Y"));?></font></b></td></tr>
   <tr><td><b><font size="2">ORA</font> <font color="#FFFFFF" size="2"> <?php echo (date("H:i"));?></font></b></td></tr>
   <tr><td><b><font size="2">TRANSAZIONE N°</font> <font color="#FFFFFF" size="2"> <?php echo $transazioni; ?></font></b></td></tr>
   <tr><td><b><font size="2">CARD N°</font> <font color="#FFFFFF" size="2"><?php echo $_SESSION[barcode]; ?></font></b></td></tr>
<?php 
if(!isset($_SESSION['barcode'])){
echo'<tr><td><b><font color="black" size="2">SALDO PUNTI </font></b><font color="red"></font>'; echo'<input type="text" readonly value="0" name="puntiprec" id="puntiprec" size="3"/></td></tr>';
} else {
	$query=mysql_query("SELECT * FROM fidelitypoint WHERE barcode='$_SESSION[barcode]' ");
    //verifico che esista una una card con tale barcode 
    $esiste=mysql_num_rows($query);
    if($esiste > 0){//esiste
        $rows=mysql_fetch_array($query);
		}
		$pt=0;
		$totpt=0;
		$querypunti=mysql_query("Select sum(punti) from fidelitypoint where barcode='$_SESSION[barcode]'");
		$row=mysql_fetch_array($querypunti);
   echo'<tr><td><b><font color="black" size="2">SALDO PUNTI </font></b><font color="red"></font>'; echo'<input type="text" readonly value="' . $row[0] . '" name="puntiprec" id="puntiprec" size="2"/></td></tr>';
   }
?>
</table>
<form action="<?= $_SERVER['PHP_SELF'] ?>" method="post"> 
<table>
<tr>
<td><input type="text" placeholder="Barcode" name="barcodeart_new" id="barcodeart" size="10" value=""></td> 
<td><input type="submit" class="visto" name="visto" value=""></td>
</tr>
<tr bordercolor="#000000" border="1">
<td width="110" align="center"><font color="#FFFFFF"><b>Barcode</b></font></td>
<td width="250" align="center"><font color="#FFFFFF"><b>Descrizione</b></font></td>
<td width="50" align="center"><font color="#FFFFFF"><b>Quantita'</b></font></td>
<td width="60" align="center"><font color="#FFFFFF"><b>Prezzo</b></font></td>
<td width="60" align="center"><font color="#FFFFFF"><b>Sconto %</b></font></td>
<td width="60" align="center"><font color="#FFFFFF"><b>Sconto VAL</b></font></td>
<td width="70" align="center"><font color="#FFFFFF"><b>Prezzo Finale</b></font></td>
</tr>
</table> 
<?php
if(isset($_POST['barcodeart_new']) && !empty($_POST['barcodeart_new']))
    $queryart = 'SELECT * FROM articoli WHERE Barcode=\''.mysql_real_escape_string($_POST['barcodeart_new']).'\'';    //se i barcode sono interi, si possono evitare gli apici \'
else if(isset($_POST['barcodeart_vecchi'])&& !empty($_POST['barcodeart_vecchi']))
    $queryart = 'SELECT * FROM articoli WHERE 0 ';    //il WHERE 0 è una bruttura... se non funziona, si può cercar di far di meglio

if(isset($_POST['barcodeart_vecchi']))
    foreach($_POST['barcodeart_vecchi'] as $barcode)
        $queryart .= ' OR Barcode=\''.mysql_real_escape_string($barcode).'\' ';    //se i barcode sono interi, si possono evitare gli apici \'
if(isset($queryart))    
    $result = mysql_query($queryart) or die('Query failed: ' . mysql_error() . "<br />");
?> 
<table> 
<?php
if(isset($result))
{
    while($righi=mysql_fetch_array($result))
$barcodeart[$righi['Barcode']] = array('Descrizione'=>$righi['Descrizione'], 'Vendita'=>$righi['Vendita'],'UM'=>$righi['UM'],'Quantita'=>$righi['Quantita'],'Fornitore'=>$righi['Fornitore'],'Codice'=>$righi['Codice'],'Prezzo'=>$righi['Prezzo']);    //creo un nuovo array dove salvo per ogni barcode, i dati.
$barcodeart_da_mostrare = array();
if(isset($_POST['barcodeart_vecchi']))
$barcodeart_da_mostrare = $_POST['barcodeart_vecchi'];    //metto gli elementi vecchi realmente mostrati
if(isset($_POST['barcodeart_new'])&& !empty($_POST['barcodeart_new'])){
 $queryart =mysql_query("SELECT * FROM articoli WHERE Barcode='".mysql_real_escape_string($_POST['barcodeart_new'])."'");  
    //se $esiste == 0 non cè
if(mysql_num_rows($queryart))//esiste
$barcodeart_da_mostrare[] = $_POST['barcodeart_new'];    //aggiungo quello nuovo (prima bisognerebbe far il controllo per vedere se esiste nel db)
}
$i=0;
foreach($barcodeart_da_mostrare as $k)
        echo '
        <tr> 
        <td><input type="text" placeholder="Barcode" name="barcodeart_vecchi[]" id="barcodeart" size="11" align="center" value="'.$k.'"></td> 
        <td><input type="text" placeholder="Descrizione" name="descrizione[]" id="descrizione" size="32" value="'.$barcodeart[$k]['Descrizione'].'"></td> 
        <td><input type="text" style="text-align:center" placeholder="Qnt" name="quantita[]" id="quantita" size="3" value="1"></td> 
        <td><input type="text" placeholder="Prezzo" name="prezzo[]" id="prezzo" size="5" value="'.$barcodeart[$k]['Vendita'].'" ></td> 
        <td><input type="text" placeholder="Sc %" name="scontoperc[]" id="scontoperc" size="3" value="0"></td> 
        <td><input type="text" placeholder="Sc VAL" name="scontoval[]" id="scontoval" size="4" value="0"></td>'; 
		echo '<td><input type="text" placeholder="P.Scontato" name="prezzosconto[]" id="prezzosconto" size="6" value="'.$_SESSION['prezzosconto'][$i].'"></td>';   
			echo '<td><input type="hidden" name="fornitore[]" id="fornitore" size="100" value="'.$barcodeart[$k]['Fornitore'].'"></td> 
        <td><input type="hidden" name="codice[]" id="codice" size="100" value="'.$barcodeart[$k]['Codice'].'"></td> 
		<td><input type="hidden" name="reparto[]" id="reparto" size="100" value="'.$barcodeart[$k]['Reparto'].'"></td> 
		<td><input type="hidden" name="UM[]" id="UM" size="100" value="'.$barcodeart[$k]['UM'].'"></td> 
       </tr> 
        ';   
		$i++;                 
} //chiusa la while proviamo...
if(isset($_POST['subtotale'])){
$prezzosconto=$_POST['prezzosconto'];
$prezzo=$_POST['prezzo'];
$scontoperc=$_POST['scontoperc'];
$scontoval=$_POST['scontoval'];
$quantita=$_POST['quantita']; 
$conta=count($prezzo);
for ($i=0;$i<$conta;$i++){ 
    if($scontoperc[$i] == "0" && $scontoval[$i] == "0"){
        //non c'è sconto
        //$scontoperc[$i]=0;//queste due non servono più
        //$scontoval[$i]=0;
        $prezzosconto[$i]=$prezzo[$i]*$quantita[$i];
		$_SESSION['prezzosconto'][$i]=$prezzosconto[$i];
    }elseif($scontoperc[$i] == "0" && $scontoval[$i] != "0"){
        //non c'e la percentuale di sconto ma il valore (totale?) dello sconto
        //$scontoperc[$i]=0;
        $prezzosconto[$i] = (($prezzo[$i]*$quantita[$i]) - $scontoval[$i]);
		$_SESSION['prezzosconto'][$i]=$prezzosconto[$i];
    }elseif($scontoperc[$i] != "0"){
       $percentuale[$i]=(($prezzo[$i]*$scontoperc[$i])/100);
       $prezzosconto[$i] = ($prezzo[$i] - $percentuale[$i]) ;
       $prezzosconto[$i] = ($prezzosconto[$i] * $quantita[$i]);
	   $_SESSION['prezzosconto'][$i]=$prezzosconto[$i];
    }
//$formatted[$i] = sprintf("%01.2f", $prezzosconto[$i]); arrotonda a 2 compreso lo 0
    echo "per ".$prezzo[$i]." il prezzo scontato è: ". $_SESSION['prezzosconto'][$i] ."<br />"; 
	var_dump($_SESSION['prezzosconto']);
}}
?>
<?php 
if(!isset($_SESSION['barcode'])){
//echo'<input type="text" readonly value="0" name="tot" id="tot" size="12"/>';
echo '<br>';
echo '<tr><td></td><td></td><td></td><td></td><td></td><td>
<input type="button"
value="Subtotale" class="subtotale" name="subtotale"></td> ';
echo'<td><input type="text" readonly value="0" name="tot" id="tot" size="6"/></td></tr>';
} else {
echo'<tr><td><b><font color="black" size="2"> PUNTI ACC. </font></b></td>';
echo'<td><input type="text" readonly value="0" name="punti" id="punti" size="3"/></td><td></td><td></td><td></td>';
echo '<td>
<input type="submit" name="subtotale" onclick= "this.form.action='.$_SERVER['PHP_SELF'].'" value="Subtotale"></td> ';
echo'<td><input type="text" readonly value="0" name="tot" id="tot" size="6"/></td></tr>';
echo '<br>';	   }
echo'<tr><td></td><td></td><td></td><td></td><td></td><td><b><font color="black" size="2"> CONTANTI </font></b></td>';
echo'<td><input type="text" readonly value="0" name="punti" id="punti" size="6"/></td></tr>';
echo'<tr><td></td><td></td><td></td><td></td><td></td><td><b><font color="black" size="2"> RESTO </font></b></td>';
echo'<td><input type="text" readonly value="0" name="punti" id="punti" size="6"/></td></tr>';
?>
</table>
   <table align="left">
    <tr>
    <td width="240"></td>
      <td><input type="button" value="CONTANTI" class="cotanti"></td>
      <td width="50"></td>
      <td><input type="button" value="CARTA DI CREDITO" class="cartacredito"></td>
      <td width="85"></td>
      <td><input type="button" value="BANCOMAT" class="bancomat"></td>
    </tr>
  </table>
  <p><table align="left">
    <tr><td><input name="read" type="submit" id="read" value="Transazione"></td></tr><br></p>
</table>
</div>
</form> 
</p>
</body>
</html>
 
ciao
prova a mettere due var_dump e guarda cosa risulta
PHP:
<?php
//.....
$barcodeart_da_mostrare = array();
if(isset($_POST['barcodeart_vecchi']))
$barcodeart_da_mostrare = $_POST['barcodeart_vecchi'];    //metto gli elementi vecchi realmente mostrati
if(isset($_POST['barcodeart_new'])&& !empty($_POST['barcodeart_new'])){
 $queryart =mysql_query("SELECT * FROM articoli WHERE Barcode='".mysql_real_escape_string($_POST['barcodeart_new'])."'");  
    //se $esiste == 0 non cè
var_dump("<pre>",$barcodeart_da_mostrare,"</pre>");//uso il tag pre così dovresti vedere meglio
if(mysql_num_rows($queryart))//esiste
$barcodeart_da_mostrare[] = $_POST['barcodeart_new'];    //aggiungo quello nuovo (prima bisognerebbe far il controllo per vedere se esiste nel db)
}
var_dump("<pre>",$barcodeart_da_mostrare,"</pre>");

$i=0;
foreach($barcodeart_da_mostrare as $k)
//......
?>
non so ma ho la vaga impressione che li ci sia qualcosa che non va
 
ok messo quello che hai detto te questo è il risultato:

Codice:
string(5) "

"
array(1) {
  [0]=>
  string(13) "1920100216004"
}
string(6) "

" string(5) "

"
array(2) {
  [0]=>
  string(13) "1920100216004"
  [1]=>
  string(13) "7640141078778"
}
string(6) "

"

Ho usato i seguenti item :

BARCODE: 1920100216004 - 7640141078778
DESCRIZIONE: BRACC.ELAST SWAROVSKI 3 FILI AMETISTA - BRACCIALE IN AGATA 2 FILE
QUANTITA: 1 - 1
PREZZO: 139 - 156
 
ciao
per una verifica prova a mettere
PHP:
<?php
//.......
$i=0;
foreach($barcodeart_da_mostrare as $k)
	echo $k." ". $barcodeart[$k]['Descrizione']." ".$_SESSION['prezzosconto'][$i]."<br>";
//......
?>
e dimmi (con i dati che avevi messo prima) cosa risulta
 
ecco il risultato :

" 1920100216004 BRACC.ELAST SWAROVSKI 3 FILI AMETISTA
7640141078778 BRACCIALE IN AGATA 2 FILE
 
prezzosconto[$i] è una variabile che viene riempita solamente se viene premuto il tasto subtotale... ecco perche.
Guarda la funzione del tasto subtotale...
 

Discussioni simili