[ASP/MySQL] Winkelwagen

Pagina: 1
Acties:

  • ArjanC
  • Registratie: Juli 2001
  • Laatst online: 26-01 17:16
Hoi,

ik probeer in ASP / MySQL een webshopje te maken, nu zit ik met de winkelwagen zelf.

hij maakt een tijdelijke tabel aan waar hetvolgende in zit :
Art_nummer = varchar
aantal = float

nu laat hij alles op het scherm zien en dan moet hij de prijs van het product uit een andere database halen, dit is dan :
prijs = float

voor het totaal per product is het dus aantal * prijs

het nadeel van float is dat hij ipv een komma een punt neerzet en als je 60.50 invoerd dat hij daar 60.5 van maakt. maar dan kan je met een omweg wel verhelpen.

met probleem zit hem in de totaal prijs.

ik wil dus de totalen bij elkaar optellen daarvoor :
(recordset is de recordset waar de aantallen en art_nummers in staat en recordset2 is de prijs tabel)

code:
1
var_totaal_inc_btw = var_totaal_inc_btw + (recordset("aantal") * recordset2("prijs"))


maar hier geeft hij een fout op.

ik heb het al geprobeer om het zo te doen :
code:
1
var_totaal_inc_btw = cdbl(var_totaal_inc_btw) + (recordset("aantal") * recordset2("prijs"))


en

code:
1
cdbl(var_totaal_inc_btw)= cdbl(var_totaal_inc_btw)+ (recordset("aantal") * recordset2("prijs"))


maar niks..

misschien een ander datatype gebruiken ?

[ Voor 4% gewijzigd door ArjanC op 22-03-2004 10:48 ]


Verwijderd

Er staat recorset2 en niet recordset2?

[ Voor 3% gewijzigd door Verwijderd op 22-03-2004 10:44 ]


  • ArjanC
  • Registratie: Juli 2001
  • Laatst online: 26-01 17:16
tiepvout.. :) in de code staat het wel goed.. :)

  • gijoe666
  • Registratie: Februari 2002
  • Laatst online: 26-05 15:22
Hoe staat de waarden in de database? 10.5 of 10.50?

  • DonDaaf
  • Registratie: April 2001
  • Laatst online: 20:26
Probeer het zo 's:
ASP:
1
var_totaal_inc_btw = CDbl(var_totaal_inc_btw) + (CDbl(recordset("aantal")) * CDbl(recordset2("prijs")))

[ Voor 14% gewijzigd door DonDaaf op 22-03-2004 10:52 ]


  • ArjanC
  • Registratie: Juli 2001
  • Laatst online: 26-01 17:16
gijoe6666 schreef op 22 maart 2004 @ 10:51:
Hoe staat de waarden in de database? 10.5 of 10.50?
10.5

  • ArjanC
  • Registratie: Juli 2001
  • Laatst online: 26-01 17:16
DonDaaf schreef op 22 maart 2004 @ 10:52:
Probeer het zo 's:
ASP:
1
var_totaal_inc_btw = CDbl(var_totaal_inc_btw) + (CDbl(recordset("aantal")) * CDbl(recordset2("prijs")))
Microsoft VBScript runtime error '800a000d'
Type mismatch: 'CDbl'

darn..

code:
1
CDbl(var_totaal_inc_btw) = CDbl(var_totaal_inc_btw) + (CDbl(recordset("aantal")) * CDbl(recordset2("prijs")))


werkt ook niet.

Verwijderd

als je de CDBL() die links van de assignment staat weghaalt werkt het waarschijnlijk een stuk beter !

  • ArjanC
  • Registratie: Juli 2001
  • Laatst online: 26-01 17:16
Verwijderd schreef op 22 maart 2004 @ 11:19:
als je de CDBL() die links van de assignment staat weghaalt werkt het waarschijnlijk een stuk beter !
ik heb ze allebij al geprobeert..

  • ArjanC
  • Registratie: Juli 2001
  • Laatst online: 26-01 17:16
heb wat anders geprobeert,

de prijs per product in de database erbij gezet.
dan krijg je :

art_nummer = varchar
aantal = float
prijs = float

als je ze dan bij elkaar gaat tellen dmv een query komt er al wat leuks uit.. :

code:
1
2
3
4
strSQL = "SELECT SUM(aantal * ver_prijs) as db_totaal FROM " & session("tblname") 
recordset.open strSQL,strConn,1,2
var_prijs_inc_btw = recordset("db_totaal")
recordset.close


maar nu maakt hij ervan :
1 * 46.60 = 46.60
7 * 50.1 = 350.7

bij elkaar dmv database :
397.29998779297

8)7

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 26-05 22:23

NMe

Quia Ego Sic Dico.

Afrondfout... Gewoon zelf naar boven afronden op 2 cijfers achter de komma? :P

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Verwijderd

FormatCurrency gebruiken


The FormatCurrency function return a formatted currency value for the numeric expression. ( zie http://www.devguru.com/Te...ckref/formatcurrency.html )
Pagina: 1