Somma su punti con controllo vip

Emix

Utente Attivo
15 Feb 2010
596
0
16
Salve a tutti...
Ho un problema da cui non riesco a venirne fuori... Io ho due tabelle : Punti e Fidelity, Nella tabella Fidelity vengono registrati i dati dell'utente, compreso barcode e il dato vip (boolean 1=si 0 =no).
Fin qui tutto ok, riesco tranquillamente a inserire i dati nel DB con i dovuti controlli.
Il problema sorge quando deve inserire dei punti a questo cliente.

Ho una pagina di provenienza dove viene digitato il barcode della tessera, controllo se esiste e lo porto alla pagina di inserimento.
Nella pagina di inserimento compilo il piccolo form che lo contiene.Anche fin qui tutto ok.
Il problema nasce ora.... Io devo fare in modo che nel momento in cui premo "aggiungi punti" devo controllare nella tabella Fidelity se vip = 1, se cosi fosse aggiungere i punti compresi di decimali, nel caso opposto invece se vip = 0 devo togliere i decimali dei punti ed inserirli .
La parte che toglie i decimali l'ho fatta ed è perfettamente funzionate, mentre la parte di controllo vip non mi riesce... posto il codice :

PHP:
<?php
session_start();
include('connect.php');
$Barcode=trim(htmlspecialchars($_POST['Barcode']));
$dataacquisto=trim(htmlspecialchars($_POST['dataacquisto']));
$dataITA="$dataacquisto";
$convert=explode('/',$dataITA);
$dataUSA=$convert[2]."-".$convert[1]."-".$convert[0];
$importo=trim(htmlspecialchars($_POST['importo'])); $numeroscnt=trim(htmlspecialchars($_POST['numeroscnt']));$punti=trim(htmlspecialchars($_POST['punti']));
//$punti=floor($punti);
$mail=trim(htmlspecialchars($_POST['mail']));
$sql = "SELECT * FROM fidelity WHERE barcode='$Barcode'";
$rows=mysql_fetch_array($sql);
if('vip' == '1')
{
	$query = "INSERT INTO fidelitypoint ( id,barcode,dataacquisto,importoscnt,numeroscnt,punti) 
VALUES (NULL, '$Barcode','$dataUSA','$importo', '$numeroscnt', '$punti')";

if (@mysql_query($query)) {
	echo ' <body bgcolor="#000000"> <p align="center"><table cellspacing=5 cellpadding=5 align="center">
<tr>
<td colspan="2">
<img src="images/logo.png" align="middle" />
</td>
</tr>
<tr>
<td colspan="2">
<font size="+3" color="#FFFFFF">Punti inseriti correttamente!</font>
</td>
</tr>
</p>
</table>
</body>';
 } else {
 exit('<p> Errore inserimento punti: ' . mysql_error() . '</p>');
}
} else {
	$punti=floor($punti);
	$query1 = "INSERT INTO fidelitypoint ( id,barcode,dataacquisto,importoscnt,numeroscnt,punti) 
VALUES (NULL, '$Barcode','$dataUSA','$importo', '$numeroscnt', '$punti')";

if (@mysql_query($query1)) {
	echo ' <body bgcolor="#000000"> <p align="center"><table cellspacing=5 cellpadding=5 align="center">
<tr>
<td colspan="2">
<img src="images/logo.png" align="middle" />
</td>
</tr>
<tr>
<td colspan="2">
<font size="+3" color="#FFFFFF">Punti inseriti correttamente!</font>
</td>
</tr>
</p>
</table>
</body>';
 } else {
 exit('<p> Errore inserimento punti: ' . mysql_error() . '</p>');
}
}
	 ?>
</body>
</html>

Sapete aiutarmi per favore?
Ah un ultima cosa, il barcode viene passato in sessione dalla prima schermata, poi nel form dopo come variabile.

Inserisco anche le varie parti prima del controllo vip.

Controllo barcode:

PHP:
<?php
session_start();
//CONNESSIONE AL DATABASE
include('connect.php');
//RECUPERA DATI DAL FORM
$mail = $_POST['mail'];
$mail = addslashes(htmlspecialchars(($_POST['mail'])));
$Barcode = $_POST['Barcode'];
$Barcode = addslashes(htmlspecialchars(($_POST['Barcode'])));
if($Barcode =="" ){
	
	
	if($mail==""){
		?>
    <script>
        alert('Il campo mail deve essere riempito!');
        location.href='puntifidelity.htm';
    </script>
    <?php
	}else{
	 if((!isset($_POST['mail'])) || (!eregi("^([a-z0-9\._-]+)(@[a-z0-9.-]+)(\.{1}[a-z]{2,4})$", $_POST['mail'])))
			{
            echo "Attenzione, formato email non valido.";
            //ritorno al form
            }else{
			$ctrl_mail = @mysql_query("SELECT * FROM fidelity            WHERE mail='$mail'") or die (mysql_error());
                   if(@mysql_num_rows($ctrl_mail)>0)
                   {
			       $_SESSION['mail'] = $mail;
				 ?>
    <script>
        location.href='fidelitypoint.php';
    </script>
    <?php
                   }else{
					   ?>
    <script>
        alert('Email non trovata');
        location.href='puntifidelity.htm';
    </script>
    <?php
				   }
	             }
		}
		}else{
			$ctrl_barcode = @mysql_query("SELECT * FROM fidelity WHERE barcode='$Barcode'") or die (mysql_error());
                if(@mysql_num_rows($ctrl_barcode)>0)
                {
			    $_SESSION['barcode'] = $Barcode;
				 ?>
    <script>
        location.href='fidelitypoint.php';
    </script>
    <?php
                }else{
					  ?>
    <script>
        alert('Barcode non trovato');
        location.href='puntifidelity.htm';
    </script>
    <?php
				   }
}
?>

Nel caso sia presente form di isnerimento e calcolo automatico dei punti :

PHP:
<?php
session_start();
include('connect.php');
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Inserimento punti</title>
<style type="text/css">
body {
	font: Eras MediUM ITC;
	color:#FFF;
	background-color: #000;
}
</style>
<style type="text/css">
#main {
	width:672px;
	height:300px;
	position:absolute;
	top:30%;
	left:50%;
	margin:-150px 0 0 -336px;
	color: #000;
}
.testo {
	color: #FFF;
}
</style>
</head>

<body bgcolor="#000000">
<div id="main">
<form action="aggiungi_punti.php" method="post" name="inserisci"> 
<table cellspacing=5 cellpadding=5 align="center">
<tr>
<td colspan="2" bgcolor="#000000">
<img src="images/logo.png" align="middle" />
</td>
</tr>
<tr>
<td class="testo">
Inserisci punti a BARCODE :
</td> 
<td>
<input name="bcode" type="text" id="bcode" readonly="readonly" value="
<?php
echo $_SESSION[barcode];
?> 
">
</td>
</tr>
<tr>
<td class="testo">
Inserisci punti a EMAIL:
</td> 
<td>
<input name="email" type="text" id="email" readonly="readonly" value="
<?php 
echo $_SESSION[mail];
?> 
">
</td>
</tr>
<tr>
<td class="testo">
Data Acquisto:
</td>
<td class="testo">
    <input name="dataacquisto" type="text" id="dataacquisto" value=""> 
</td>
</tr>
<tr>
<td class="testo">
Importo Scontrino:
</td>
<td class="testo">	
<input type="text"  name="importo" onKeyUp="vendita()" value="" id="importo" size=35/>
</td>
</tr>
<tr>
<td class="testo">
Numero Scontrino:
</td>
<td class="testo">
   <input name="numeroscnt" type="text" id="numeroscnt" value=""> 
</td>
</tr>
<tr>
<td class="testo">
Punti
</td>
<td class="testo">
<input type="text" readonly value="0" name="punti" id="punti" size=35/>
</td>
</tr> 
<tr>
<td class="testo">	
<input name="mail" type="hidden" value="<?php echo $_SESSION[mail]; ?>">
<input name="barcode" type="hidden" value="<?php echo $_SESSION[barcode]; ?>">
<input name="sottrazione" type="hidden" onKeyUp="vendita()" id="sottrazione" value="20">
</td>
</tr>
<tr>
<td colspan="2" class="testo">
    <input name="inserisci" type="submit" id="inserisci" value="Inserisci"> 
</td>
</tr>
</table>
</form> 
</div>
<script type="text/javascript">
function vendita() {
    var importo = 0.0+document.getElementById('importo').value;
    var sottrazione = 0.0+document.getElementById('sottrazione').value;
    if (importo <= 0 || sottrazione <= 0){
        document.getElementById('Vendita').value = "--";
    }else{
        //var ven = parseInt((acq * 100) / ric);
        //var numero = (acq * ric) / 100;
        var numeroivato = (importo / sottrazione);
        var punti = numeroivato.toFixed(2);
        document.getElementById('punti').value = punti;
    }
}
</script>
</body>
</html>

Grazie a tutti per le eventuali risposte.
 

Emix

Utente Attivo
15 Feb 2010
596
0
16
stai confrontando due stringhe : sarà sempre false
forse volevi scrivere
PHP:
if($row['vip'] == 1)

mamma che disattenzione.... scusa la stupidaggine... Dopo provo ma credo che sia sicuramente per quello che non funziona.... Ti sembra esatto il resto del codice?
 

Emix

Utente Attivo
15 Feb 2010
596
0
16
Ho un altro problema.... Non riesco a capire come posso fare per fare la somma dei punti di ogni barcode.... Nel senso... Se io voglio sapere i punti della card numero 1234567890123 come faccio???
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
mi sembra di aver capito che non fai un vero aggiornamento ma inserisci ogni volta una riga
forse era megli se impostavi il tutto per fare un UPDATE dei punti comunque protresti usare questa semplice query

Codice:
SELECT sum(punti) as somma_punti FROM fidelitypoint WHERE barcode = "1234567890123";
 

Emix

Utente Attivo
15 Feb 2010
596
0
16
ora la provo.... Ma una domanda... Somma punti è un campo fittizio vero?
 
Discussioni simili
Autore Titolo Forum Risposte Data
G scomponi un numero intero come la somma di 20 numeri interi casuali maggiori di zero diversi fra loro Javascript 1
F Somma di più tabelle da script Javascript 0
E Help Sql somma orari PHP 32
M Somma inversa di Array C/C++ 2
A Moltiplicazione tramite somma PHP 5
A Somma di orari con centesimi PHP 1
V Somma foreach PHP 2
V Somma Risposte PHP 5
V Query per una somma PHP 2
G Somma dei Minuti PHP 3
L somma e informa PHP 16
L query somma PHP 8
L salvare somma con sottrazione PHP 1
W fare la somma di un valore estratto da un ciclo while Classic ASP 0
A Somma delle colonne di una tabella pivot Database 6
MarcoGrazia [PHP] Unioni di due array con somma di valori PHP 6
R php Somma valori in file csv PHP 2
Emix [Javascript] Somma con array input HTML Javascript 1
A [MS Access] Somma Campi se in altro campo presente un determinato testo MS Access 1
A [Javascript] Somma di un campo in una tabella dinamica Javascript 0
T Problema somma mysql MySQL 8
A [Javascript] Somma di input dinamici Javascript 1
B Somma armonica jQuery 3
elpirata [PHP][RISOLTO] Effettuare la somma dei tempi di lavorazione PHP 3
P [PHP] somma totale imponibile e totale fattura PHP 3
Z Somma di numeri in una lista di app inventor Sviluppo app per Android 0
V Somma anni ad una data con datepicker jQuery 1
A [PHP] Somma in unico risultato di più tabelle PHP 6
T [PHP] matrice con somma diagonali PHP 2
Trapano [PHP] somma di una lista di pagamenti PHP 2
Bunz [Javascript] somma orario input + calcolo straordinario Javascript 3
P Query con Somma di un Campo , aggregazione e join Database 3
G Somma variabili impossibile Javascript 3
A Aiuto somma di campi MS Access 0
A Somma di sottoreport su report Database 2
A Controllo somma di valori in una select Ajax 1
R Sistema di conteggio (somma) HTML e CSS 4
G Somma dati se codice uguale Classic ASP 4
G Somma di report e sottoreport MS Access 0
Emix Somma automatica checkbox Javascript 1
Akuma Somma dei campi in una tabella PHP 1
felino Microsoft Excel: somma su un'intera colonna Windows e Software 1
felino [JS] Passare un array ed effettuare la somma degli elementi Javascript 2
N Somma di variabili PHP 3
V perchè una somma può non funzionare? PHP 4
M Somma di due record MySQL 7
blips Controllo somma di valori in una select Javascript 5
C [RISOLTO] Problema somma td, prende solo il primo valore jQuery 7
L Somma solo se non riappare elemento PHP 4
L somma elementi, finché elementi di altro array sono uguali PHP 2

Discussioni simili