NEWID() creates a unique ID for every record, since its unique everytime you call it and you are ordering by this field/function, the record returned is random.
Make sense? Taco Fleur - Pacific Fox an industry leader with commercial IT experience since 1994 . http://www.pacificfox.com - Web Design and Development > -----Original Message----- > From: Mike | NZSolutions Ltd [mailto:[EMAIL PROTECTED] > Sent: Thursday, 29 September 2005 2:00 PM > To: CF-Talk > Subject: RE: Every once in a while, I feel smart. A story of > displaying a single random image. > > > Being lazy and not fishing out my sql ref's - how does the > newID() work? I think this could reduce some of my code dramatically!! > > mike > > -----Original Message----- > From: Taco Fleur [mailto:[EMAIL PROTECTED] > Sent: Thursday, 29 September 2005 3:47 p.m. > To: CF-Talk > Subject: RE: Every once in a while, I feel smart. A story of > displaying a single random image. > > > Hmm, sorry to break your bubbles but both solutions are very > inefficient. > > The best thing to do is (in MS SQL) > > SELECT TOP 1 * > FROM yourTable > ORDER BY NEWID() > > That will give you a random record every time and you are not > transferring a whole record set over the network. > > Have fun ;-) > > Taco Fleur - Pacific Fox > an industry leader with commercial IT experience since 1994 . > http://www.pacificfox.com - Web Design and Development > > > > > -----Original Message----- > > From: Jim Davis [mailto:[EMAIL PROTECTED] > > Sent: Thursday, 29 September 2005 1:29 PM > > To: CF-Talk > > Subject: RE: Every once in a while, I feel smart. A story of > > displaying a single random image. > > > > > > > -----Original Message----- > > > From: Pete Ruckelshaus [mailto:[EMAIL PROTECTED] > > > Sent: Wednesday, September 28, 2005 11:11 PM > > > To: CF-Talk > > > Subject: Every once in a while, I feel smart. A story of > > displaying a > > > single random image. > > > > > > I thought I'd share this simple solution that I came up with. > > > > Great idea - nothing like some brain fuel. ;^) > > > > > I'm building a site that has a photo album as part of it. > > The image > > > data (caption, description, filename, etc.) is stored in a > > SQL Server > > > database and the image is on the server file system. > > > > > > <cfset randImgRow = randRange(1, getRandImage.recordcount)> > > > > > > Finally, and here's where the dead-simple beauty of all > > this comes in, > > > display the random image using cfloop's startrow and endrow > > using the > > > randImgRow value: > > > > > > <cfoutput><cfloop query="getRandImage" startrow="#randImgRow#" > > > endrow="#randImgRow#"><a > > > href="/album/default.cfm?albumid=#getrandimage.album_id#"><img > > > src="/images/album/#getRandImage.thumbnail#" > > > alt="#getRandImage.caption#" > > > class="thumbnail"></a></cfloop></cfoutput> > > > > Just to be a jerk however... > > > > You don't actually need the loop at all. Remember that you > can access > > a query using indexed notation - so the above could be written as: > > > > <cfset randImgRow = randRange(1, getRandImage.recordcount)> > > <cfoutput><a > > href="/album/default.cfm?albumid=#getrandimage.album_id[randIm > > gRow]#"><img > src="/images/album/#getRandImage.thumbnail[randImgRow]#" > > alt="#getRandImage.caption[randImgRow]#" > > class="thumbnail"></a></cfoutput> > > > > Of course both solutions do the exact same thing and both > access the > > query... I wouldn't be surprised to find them both about the same > > performance-wise as well. Mine is really just a little less code. > > > > I cover this in more details in my "Guide to CFML Variables" here: > > > http://www.depressedpress.com/Content/Development/ColdFusion/G uides/Vari able s/NotationIndexed.cfm Don't get me wrong tho' - I agree completely about "informational" posts like this. I wish more people would throw up snippets when they get something to work. ;^) Jim Davis ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~| Logware (www.logware.us): a new and convenient web-based time tracking application. Start tracking and documenting hours spent on a project or with a client with Logware today. Try it for free with a 15 day trial account. http://www.houseoffusion.com/banners/view.cfm?bannerid=67 Message: http://www.houseoffusion.com/lists.cfm/link=i:4:219561 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4 Donations & Support: http://www.houseoffusion.com/tiny.cfm/54

