hyo provato ma non mi funge... allora ti spiego semplicemente ho un carrello che aggiorna i prodotti io voglio che se dentro il carrello esiste già quel prodotto non mi deve fare l'aggiunta
questo è il codice orginale della pagina prod_aggiungi.asp:
Codice PHP:
Tipologia = Request.QueryString("Tipologia")
If Tipologia = "" Then
Tipologia = "0"
End If
QSID = Request.QueryString("ID")
QSQuantita = Request.QueryString("Quantita")
'---Controllo che venga aggiunta una quantità di prodotti
If IsNumeric(QSQuantita) Then
If (cLng(QSQuantita) > 0) AND (QSID <> "") AND (SessionID <> "") Then
'---Prelevo i dati sul prodotto dal database
SQL= " SELECT * FROM Prodotti WHERE ID = " & cLng(QSID) & " AND Cancellato = False "
Set RS = Conn.Execute(SQL)
If Not RS.EOF Then
Prodotto = Replace(RS("Prodotto"), "'", "''")
CPrezzo = RS("CPrezzo")
RPrezzo = RS("RPrezzo")
Iva = RS("Iva")
PuntiSconto = RS("PuntiSconto")
If RS("Spedizione") Then
Spedizione = "True"
Else
Spedizione = "False"
End If
SpeseSpedizione = RS("SpeseSpedizione")
RS.Close
'---Inserisco/aggiorno i dati nel carrello di questo utente
SQL = " Select * FROM Carrello WHERE IDProdotto = "& cLng(QSID) &" AND IDSessione = '"& SessionID &"' " & " AND IDTipologia = "& Clng(Tipologia)
Set RS = Conn.Execute(SQL)
If RS.EOF Then
SQL = " INSERT INTO Carrello (IDProdotto, Prodotto, CPrezzo, RPrezzo, Iva, IDSessione, Quantita, PuntiScontoMax, IDTipologia, Spedizione, SpeseSpedizione, DataAggiunta) VALUES ("&QSID&", '"&Prodotto&"', "&CPrezzo&", "&RPrezzo&", "& Iva &", '"&SessionID&"', "&QSQuantita&", "&PuntiSconto&", "&Clng(Tipologia)&", "&Spedizione&", "&SpeseSpedizione&", #" & Now() & "#) "
Else
SQL = " UPDATE Carrello Set Quantita = " & (RS("Quantita") + CLng(QSQuantita)) & ",IDTipologia = " & Tipologia & " WHERE IDSessione = '"&SessionID&"' AND IDProdotto = "&QSID
End If
RS.Close
Set RS = Conn.Execute(SQL)
Else
RS.Close
End If
End If
End If
'fine codice originale
Conn.Close
Set Conn = Nothing
Response.Redirect Request.ServerVariables("HTTP_REFERER")
%>
questa è la stessa pagina con la modifica che ho apportato cioè se dentro al carrello c'è già il prodotto allora non fai niente altrimenti fai l'update:
Codice PHP:
' codice che ho inserito io per verificare se contine già il prodotto
dim rs1,sql1
Dim ID
ID=request.querystring("id")
sql1 = "SELECT * FROM Carrello WHERE id="&ID
set rs1 = Conn.Execute(sql1)
if not rs1.eof then
'Contiene non fa nessun update
Response.Redirect Request.ServerVariables("HTTP_REFERER")
else
Tipologia = Request.QueryString("Tipologia")
If Tipologia = "" Then
Tipologia = "0"
End If
QSID = Request.QueryString("ID")
QSQuantita = Request.QueryString("Quantita")
'---Controllo che venga aggiunta una quantità di prodotti
If IsNumeric(QSQuantita) Then
If (cLng(QSQuantita) > 0) AND (QSID <> "") AND (SessionID <> "") Then
'---Prelevo i dati sul prodotto dal database
SQL= " SELECT * FROM Prodotti WHERE ID = " & cLng(QSID) & " AND Cancellato = False "
Set RS = Conn.Execute(SQL)
If Not RS.EOF Then
Prodotto = Replace(RS("Prodotto"), "'", "''")
CPrezzo = RS("CPrezzo")
RPrezzo = RS("RPrezzo")
Iva = RS("Iva")
PuntiSconto = RS("PuntiSconto")
If RS("Spedizione") Then
Spedizione = "True"
Else
Spedizione = "False"
End If
SpeseSpedizione = RS("SpeseSpedizione")
RS.Close
'---Inserisco/aggiorno i dati nel carrello di questo utente
SQL = " Select * FROM Carrello WHERE IDProdotto = "& cLng(QSID) &" AND IDSessione = '"& SessionID &"' " & " AND IDTipologia = "& Clng(Tipologia)
Set RS = Conn.Execute(SQL)
If RS.EOF Then
SQL = " INSERT INTO Carrello (IDProdotto, Prodotto, CPrezzo, RPrezzo, Iva, IDSessione, Quantita, PuntiScontoMax, IDTipologia, Spedizione, SpeseSpedizione, DataAggiunta) VALUES ("&QSID&", '"&Prodotto&"', "&CPrezzo&", "&RPrezzo&", "& Iva &", '"&SessionID&"', "&QSQuantita&", "&PuntiSconto&", "&Clng(Tipologia)&", "&Spedizione&", "&SpeseSpedizione&", #" & Now() & "#) "
Else
SQL = " UPDATE Carrello Set Quantita = " & (RS("Quantita") + CLng(QSQuantita)) & ",IDTipologia = " & Tipologia & " WHERE IDSessione = '"&SessionID&"' AND IDProdotto = "&QSID
End If
RS.Close
Set RS = Conn.Execute(SQL)
Else
RS.Close
End If
End If
End If
'fine codice originale
Conn.Close
Set Conn = Nothing
Response.Redirect Request.ServerVariables("HTTP_REFERER")
End If
set rs1 = nothing
Conn.Close
Set Conn = Nothing
%>
praticamente ho inserito all'inizio della pagina lo script e l'end if alla fine.. hai 1 idea di dove sbaglio... :master: