Doppio form con calcolo variabili

Emix

Utente Attivo
15 Feb 2010
596
0
16
Ciao a tutti,
ho un problema, che credo sia banale ma è da stamane che ci sto dietro, mi scoppia la testa e non capisco dove sta l'errore...
Io ho una pagina in cui inserisco X articoli, i quali hanno ognuno un prezzo... Il tasto Subtotale dovrebbe fare in modo che, letto il valore del prezzo, controlla se ci sono eventuali sconti, li applica e sputi il risultato dentro un box... Sulla carta funziona... ma nella realtà mi si pianta mettendoci un casino...
Credo che il doppio form sia strutturato bene, i controlli sui valori li applico...
Questo è il form:
HTML:
<form method="post" name="read"> 
<p align="left"><a href="#" id="aggiungi">Aggiungi riga</a></p>
<div id="campi">
<div class="campo" style="display: none;">
<input type="text" placeholder="Barcode" name="barcode[]" id="clientID" size="15">
<input type="text" placeholder="Descrizione" name="descrizione[]" id="descrizione" size="30">
<input type="text" placeholder="Quantità" name="campo[]" id="quantita" size="5">
<input type="text" placeholder="Prezzo" name="prezzo[]" id="prezzo" size="5">
<input type="text" placeholder="Sconto %" name="scontoperc[]" id="scontoperc" size="5">
<input type="text" placeholder="Sconto VAL" name="scontoval[]" id="scontoval" size="7">
<input type="text" placeholder="Prezzo Scontato" name="prezzosconto[]" id="prezzosconto" size="12" value="<?php echo $prezzosconto; ?> ">
<input name="read" type="submit" id="read" value="Transazione" onclick="this.form.action = 'read_dtt.php';">
<input type="submit"
value="Subtotale" class="subtotale" name="subtotale" onclick="this.form.action=' . htmlspecialchars($_SERVER['PHP_SELF']) . '">

Questa invece è la parte PHP:

PHP:
if(isset($_POST['subtotale'])){
$barcode=$_POST[barcode];
$prezzosconto=$_POST[prezzosconto];
$prezzo=$_POST[prezzo];
$scontoperc=$_POST[scontoperc];
$scontoval=$_POST[scontoval];
if($scontoperc==null && $scontoval==null){
	$scontoperc=0;
	$scontoval=0;
	} elseif($scontoperc==null){
		 $conta2 = count($barcode);
           for($c=0;$c<$conta2;$c++){
		   $scontoperc=0;
		   $sprezzosconto=($prezzo-$scontoval);
		                            }
	}elseif($scontoval==null){
		$conta3 = count($barcode);
           for($d=0;$d<$conta3;$d++){
		   $scontoval=0;
		   $percentuale=(($prezzo*$scontoperc)/100);
		   $prezzosconto=($prezzo-$percentuale);
		                             }
		                     }
}
	if($scontoperc==null)
	{ $scontoperc=0;}
	if($scontoval==null)
	{ $scontoval=0;}
	    if($prezzosconto==null){ 
	    $prezzosconto=0;
	    $somma=0;
        $conta1 = count($barcode);
           for($b=0;$b<$conta1;$b++){
	       $somma=($prezzo[$b]+$somma);
	       }
	                             } else {
                                        $somma=0;
										$conta= count($barcode);
										for($a=0;$b<$conta;$a++){
										$somma=($prezzosconto[$a]+$somma);
										}
										}

Chiaramente la variabile $somma è inserita nel box Totale che non ho messo...

Dove sbaglio?? A me sembra tutto ok... Bho...
 

Emix

Utente Attivo
15 Feb 2010
596
0
16
ci mette un eternità a rispondermi... ed inoltre alla fine mi da errore caricamento pagina...
 

Emix

Utente Attivo
15 Feb 2010
596
0
16
facendo otto milioni di prove sono arrivato ad un risultato che in se per se va bene, ma che io devo estenderlo all'array di dati... il quale non si sa da quanti valori è composto...(Anche se cmq per ora il max è 7 e il minimo è 1)
Questa pagina, non fa altro che creare una form brevissima con 5 campi indispensabili...
La quantita, il prezzo, i valori dis conto in percentuale o in valore numerico e l'eventuale prezzo finale scontato...
PHP:
<?php
if(isset($_POST['subtotale'])){
$prezzosconto=$_POST[prezzosconto];
$prezzo=$_POST[prezzo];
$scontoperc=$_POST[scontoperc];
$scontoval=$_POST[scontoval];
$quantita=$_POST[quantita];
if($quantita == null){  
$quantita=1;
}
if($scontoperc == null && $scontoval == null){
	$scontoperc=0;
	$scontoval=0;
	$prezzosconto=$prezzo*$quantita;
	                                     }
if($scontoperc == null){
$scontoperc=0;
$prezzosconto = (($prezzo*$quantita) - $scontoval);
                      }elseif($scontoval == null){
		                      $scontoval=0;
		                      $percentuale=(($prezzo*$scontoperc)/100);
		                      $prezzosconto = ($prezzo - $percentuale) ;
							  $prezzosconto = ($prezzosconto * $quantita);
		                                        }

}
?> 
<form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>" method="post">
<input type="text" placeholder="Quantita" name="quantita" id="quantita" size="10" value="<?php echo $quantita; ?> ">
<input type="text" placeholder="Prezzo" name="prezzo" id="prezzo" size="10" value="<?php echo $prezzo; ?> ">
<input type="text" placeholder="Sc %" name="scontoperc" id="scontoperc" size="5" value="<?php echo $scontoperc; ?>" >
<input type="text" placeholder="Sc VAL" name="scontoval" id="scontoval" size="10" value="<?php echo $scontoval; ?>" >
<input type="text" placeholder="P.Scontato" name="prezzosconto" id="prezzosconto" size="10" value="<?php echo $prezzosconto; ?> "><br />
<input type="submit" value="Subtotale" name="subtotale"><br> 
<?php echo' La quantita è:' . $quantita . ''; ?>
</form>

Ora qui sorgono due problemi.. Il primo è che non so perchè in sconto % e sconto VAL funziona il placeholder mentre per gli altri no...
Il secondo è che non riesco ad iterarlo per X volte...

Ho provato mettendo il form cosi:

HTML:
<form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>" method="post">
<input type="text" placeholder="Quantita" name="quantita[]" id="quantita" size="10" value="<?php echo $quantita[$a]; ?> ">
<input type="text" placeholder="Prezzo" name="prezzo[]" id="prezzo" size="10" value="<?php echo $prezzo[$a]; ?> ">
<input type="text" placeholder="Sc %" name="scontoperc[]" id="scontoperc" size="5" value="<?php echo $scontoperc[$a]; ?>" >
<input type="text" placeholder="Sc VAL" name="scontoval[]" id="scontoval" size="10" value="<?php echo $scontoval[$a]; ?>" >
<input type="text" placeholder="P.Scontato" name="prezzosconto[]" id="prezzosconto" size="10" value="<?php echo $prezzosconto[$a]; ?> "><br />
<input type="submit" value="Subtotale" name="subtotale"><br> 
<?php echo' La quantita è:' . $quantita[$a] . ''; ?>
</form>

E il codice php per l'iterazione ho usato il seguente :

PHP:
$conta = count($prezzo);
for($a=0;$a<$conta;$a++){
Instruzioni;
  }

Ma mi da errore... Sapete aiutarmi??
 

Emix

Utente Attivo
15 Feb 2010
596
0
16
so facendo delle prove... e chiaramente riscontro errori di questo genere su qualsiasi pressioni di tasti separati... Mi spiego... Ogni riga come sopra ha un visto che controlla il barcode e scrive nella form quello che ricava... Chiaramente se non riesco a processare X volte il pulsante, ottengo un risultato solamente invece di X.... e quindi se per esempio clicco sul primo, funziona, ma se voglio aggiugnerne un secondo, chairamente cancella il primo e funziona il secondo... Io dovrei fare in modo che quando clicco il tasto visto, processi solamente la riga su cui si trova... lasciando intatta quella sopra...

Per provare basta andare qui:

http://laviadellanima.com/prove/ddt_go.php

Se provate vedrete che funziona il visto... ma ne funziona una alla volta...
 

Emix

Utente Attivo
15 Feb 2010
596
0
16
aggiungo il pezzo di codice relativo al pulsante:

PHP:
<?php
if(isset($_POST['visto'])){
	$barcodevisto=$_POST[barcodeart];
	$queryart=("SELECT * FROM articoli WHERE Barcode='$barcodevisto'") or die (mysql_error()); 
	$result = MYSQL_QUERY($queryart) or die('Query failed: ' . mysql_error() . "<br />\n$sql"); 
    //verifico che esista una una card con tale barcode 
    $esistebc=mysql_num_rows($result);
    //se $esiste == 0 non cè
    if($esistebc > 0){//esiste
        //estraggo usn e pass
        $righi=mysql_fetch_array($result);
		$barcodenew=$righi[Barcode];
		$descrizione=$righi[Descrizione];
		$prezzo=$righi[Vendita];
		$fornitore=$righi[Fornitore];
		$reparto=$righi[Reparto];
		            } else {
						?>
						<script>
        alert('Email non trovata');
    </script>
    <?php
	                       }
 }
 ?>
 
Discussioni simili
Autore Titolo Forum Risposte Data
C Problema con il doppio invio nel form con onsubmit HTML e CSS 9
N Doppio Form in pagina php PHP 6
A [Javascript] [RISOLTO] Doppio "submit", in uno stesso "Form" , che puntino ad "action" diversi Javascript 1
B Problema form mail per invio doppio allegato PHP 1
E doppio invio da un form PHP 5
U Link a doppio file PHP PHP 0
Cosina Doppio file fopen PHP 2
P [HTML] Eliminare doppio menu in wordpress WordPress 2
R [MS Access] COME APRIRE UNA MASCHERA FACENDO DOPPIO CLICK SU UN RECORDSET MS Access 1
R [MS Access] aprire maschera con doppio click su recordset di sottomaschera MS Access 4
T [PHP] impedire un doppio INSERT INTO dopo reload della pagina PHP 3
MikSkagit [PHP] Doppio SELECT PHP 10
T mostrare solo una volta il risulato doppio Database 10
U [Javascript] [HTML] doppio click Javascript 18
P doppio problema nella memorizzazione dati PHP 11
E Input array doppio PHP 0
filippino Problema doppio H1 in Home SEO e Posizionamento 1
K [risolto] Campo con doppio ordimanento MySQL 6
L doppio array in uno solo PHP 19
Jonn Redirect Doppio (si può chiamare così?) PHP 3
E Problema array doppio Javascript 1
A Impostazione cookie errata con doppio login PHP 0
riminese77 Evitare doppio click nelle pagine ASP.NET 5
Xelia htaccess - doppio RewriteEngine on PHP 1
E Doppio inserimento dati nel DB PHP 7
H J2ME doppio menu' (in liste implicite) Java 10
O Doppio pagamento hosting Hosting 4
P inserimento doppio url in js Javascript 0
M Problema doppio router Apache 1
F codice doppio per la stessa pagina Javascript 1
N 8 > 23 Febbraio: Doppio Evento Live a Roma con Tony Braschi Altri Annunci 0
U 2007: 8 & 23 Febbraio - Doppio Evento a Roma Discussioni Varie 0
U 2007: 8 & 23 Febbraio - Doppio Evento a Roma Altri Annunci 0
O Doppio invio mail da modulo asp Classic ASP 2
S Problema Doppio Ciclo: For & While PHP 0
waterass Doppio sist. operativo... Linux e Software 10
R doppio filmato Flash 2
pugia Doppio link a due frame diversi HTML e CSS 4
S passare un valore da un form a un file .php con metodo post PHP 4
K Form che manda dati doppi PHP 1
K Problema form update PHP 2
Elisacau [Contact form 7] Inserire Numero auto incrementante WordPress 1
K form Inserimento record mysql PHP 2
I Form con selettore HTML e CSS 0
K [php]form invio dati PHP 0
G form invio multiplo con checkbox PHP 12
nivaria.achinet Intercettare form solo dopo invio Javascript 1
D Form contatti non funzionante HTML e CSS 0
A Stampare dati da form PHP 15
M Unire 2 funzioni per l'invio di un form e con l'apertura di un div Javascript 0

Discussioni simili