Skip to main content
Inspiring
July 22, 2018
Question

making sure a variable doesn't equal another variable

  • July 22, 2018
  • 1 reply
  • 647 views

Hi,

I want to generate a random number but make sure that the number doesn't equal another number in a recordeet.  I am using this but I don't think it's right.

<cfoutput query="rsHistory">

<cfset historyid = RandRange(1,1999999999)>

<cfif #historyid# EQ #rsHistory.history_id#>

<cfset historyid = RandRange(1,1999999999)>

</cfif>

</cfoutput>

Is there a better way of doing this?

Thanks,

MIke

EDIT: I'm using coldfusion 8

    This topic has been closed for replies.

    1 reply

    ConsoleGenRL
    Known Participant
    July 22, 2018

    I do this:

    <cfscript>

        IsUnique_Voucher_Number=False;

    </cfscript>

    <cfloop condition="IsUnique_Voucher_Number EQ False">

        <cfscript>
       
            Unique_Voucher_Number=RandRange(0, 99999999, "SHA1PRNG");
       
        </cfscript>

        <cfquery name="Query_Check_Voucher_Number" datasource="#Request.JustInLime_DataSourceName#" result="Query_Issued_List_Result">
            SELECT
                Lower(JustInLime_VoucherNumber) AS JustInLime_VoucherNumber
            FROM
                #Request.JustInLime_DatabasePrefix#_Issued_JoinOnline
            WHERE
                JustInLime_VoucherNumber=<cfqueryparam cfsqltype="cf_sql_varchar" value="#Unique_Voucher_Number#" />
        </cfquery>

        <cfif Query_Check_Voucher_Number.RecordCount>

        <cfelse>

            <cfscript>

                IsUnique_Voucher_Number=True;
                Form.JustInLime_VoucherNumber=NumberFormat(Unique_Voucher_Number, "00000000");
           
            </cfscript>
       
        </cfif>
       
    </cfloop>

    wycksAuthor
    Inspiring
    July 23, 2018

    Can you break that down a little for me?  I just want to generate a random number that does not equal a variable from a recordset.