I can't say that I've ever seen anyone store a cart structure in the
application scope. Let's see if I can figure out how to get someone else to
pay but have it sent to me hmmmm... :-)

Anyway... createUUID() would probably make for a better... umm... well...
UUID... heh

And for the love of god... move the cart to the session scope. :-P

..:.:.:.:.:.:.:.:.:.:.:.
Bobby Hartsfield
http://acoderslife.com
 

 

-----Original Message-----
From: Will Tomlinson [mailto:[EMAIL PROTECTED] 
Sent: Wednesday, November 29, 2006 9:08 AM
To: CF-Talk
Subject: Can't figure out why these ID's aren't unique

Just noticed a flaw in my store app. I'm generating what I THOUGHT were
unique ID's for carts and shoppers. They get plugged into the db for later
use. 

There seem to be a few records with the same ID. This ID field isn't the PK
of the table. 

When the app starts, a shopper service and cart service are initialized.
This is where I'm creating the ID. I WAS using randrange() and the date
appended to it. Just changed that to timeformat() to get an exact time and
maybe help this problem out. 

What's odd is I'm lookin in the cart table, and I see no such duplication.
All the ID's are unique, yet I'm using the same method to generate THOSE
too. 

Here's where it's created. Any ideas?

<cfset APPLICATION.cartservice = CreateObject("component",
"cfcs.cartservice").init(dsn=application.settings.dsn)>
<cfset APPLICATION.shopperservice = CreateObject("component",
"cfcs.shopperservice").init(browser=CGI.http_user_agent)>


<cffunction name="init" access="public" output="false"
returntype="shopperservice">
  <cfargument name="browser" required="yes">
  <cfset VARIABLES.shopperStats = StructNew()>
  <!--- Create a shopper ID for this shopper --->
  <cfset VARIABLES.shopperStats.shopperID = TimeFormat(Now(), "hmmss") &
DateFormat(Now(),"m-dd-yy")>
  <!--- Setup other variables that come in from onAppStart in App.cfc --->
  <cfset VARIABLES.shopperStats.shopperBrowser = ARGUMENTS.browser>
 <cfreturn this>        
</cffunction>

And here's for the cartID. No problem I see with these ID's. 

<cffunction name="init" access="public" output="false"
returntype="cartservice">
  <cfargument name="dsn">
  <cfset VARIABLES.dsn = ARGUMENTS.dsn>
  <cfset VARIABLES.finalCartTotal = 0>
 <!--- Create a cart ID for this cart --->
 <cfset VARIABLES.cartID = TimeFormat(Now(), "hmmss") &
DateFormat(Now(),"m-dd-yy")>
 <cfset VARIABLES.totals = StructNew()>
 <cfset VARIABLES.cartItemsAdded = false>
 
  <cfreturn this>        
</cffunction> 

Thanks,
Will



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting,
up-to-date ColdFusion information by your peers, delivered to your door four 
times a year.
http://www.fusionauthority.com/quarterly

Archive: 
http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:262032
Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm
Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4

Reply via email to