gtbikerider
Technical User
I'm trying to select a random record from a database. The following vaguely works, but it selects a random number between 1 & 20 (say), and if that number is 12 there's no guarantee there is a record #12. This is obviously a really bad way to do this.
*******************************************
<!--- find out how many records there are in the db --->
<cfquery name="GetRecords" datasource="mydatabase">
select recordID
from table
</cfquery>
<!--- get a random number between 1 & number of records--->
<cfset random = RandRange(1,#GetRecords.RecordCount#)>
<!--- get the randomly selected record from the db --->
<cfquery name="GetRecord" datasource="mydatabase">
select record
from table
where RecordID LIKE #random#
</cfquery>
*******************************************
I've got as far as figuring out I should be using a list (correct me if I'm wrong) but I can't figure the code out. Anyone assist? --
John
*******************************************
<!--- find out how many records there are in the db --->
<cfquery name="GetRecords" datasource="mydatabase">
select recordID
from table
</cfquery>
<!--- get a random number between 1 & number of records--->
<cfset random = RandRange(1,#GetRecords.RecordCount#)>
<!--- get the randomly selected record from the db --->
<cfquery name="GetRecord" datasource="mydatabase">
select record
from table
where RecordID LIKE #random#
</cfquery>
*******************************************
I've got as far as figuring out I should be using a list (correct me if I'm wrong) but I can't figure the code out. Anyone assist? --
John