Search code examples
datecoldfusionbindcfccfselect

Unable to retrieve array of dates from cfc


I was trying to implement 3 dependent drop downs in my code. But was unable to retrieve dates from my ColdFusion component. Here is the code in my .cfm template:

1st drop down

<cfselect name="city_code"  class="styled-select"
                bind="cfc:getcity.getcity1()"
                bindonload="true" >

2nd drop down

<cfselect name="movie_id" class="styled-select" 
               bind="cfc:getcm.getmovies({city_code})">
</cfselect>

3rd drop down

  <cfselect id="movie_id1" name="movie_id1" 
              class="styled-select" 
              bind="cfc:getcm.getdate({movie_id})"/>

In the 3rd drop down, I want to display dates for about five days from the current date. Here is my cfc code:

 <cfset var data="">
 <cfset var result=ArrayNew(2)>
 <cfset var i=0>

 <cfquery name="data2" datasource="sqldb">
     select movie_id,release_date 
     from shows
     where movie_id = '#ARGUMENTS.movie_id#'

 </cfquery>
  <cfset result[1][1] = "0"> 
<cfset result[1][2] = " Select Date"> 

 <cfloop index="i" from="1" to="#data2.recordcount#">
      <cfset result[i+1][1]=data2.movie_id[i]>
    <cfset result[i+1][2]=data2.release_date[i]>
     </cfloop>
<cfreturn result>

This CFC is working for me, but I have to retrieve 5 dates before release date.


Solution

  • k try this way murali

     <cfquery name="data2" datasource="bookonline">
               select tid,daysb4booking
               from shows
               where movie_id = '#ARGUMENTS.movie_id#'
             </cfquery>
          <cfset arr=ArrayNew(1)>
               <cfloop index="i" from="1" to="#data2.recordcount#">
               <cfset arr[i]=data2.daysb4booking[i]>
               </cfloop>
               <cfset num=#LSNumberFormat(arraymax(arr))#>
               <cfset result[1][1] = "0"> 
               <cfset result[1][2] = " Select Date"> 
        <!--- convert results to array--->
        <cfloop index="i" from="1" to="#num#">
               <cfset result[2][1]=data2.tid[1]>
               <cfset result[2][2]=dateformat(dateadd("d",i,now()))>
        </cfloop>