2 Replies Latest reply on May 11, 2009 6:25 AM by ilssac

    Using SQL within cfscript

    davella

      Hey everyone,

       

      I am using the cfscript I got for a calendar from this website: http://www.drisgill.com/files/cal.txt

       

      Its fairly straight forward and displayed a generic plain calendar for the month.  I am trying to make it so the calendar fills dynamically with information I pull from a database.  So essentially, as the calendar adds days I want it to see if that date equals the date I have in the DB, if it does then it would display simple text like, "Event."

       

      This is the code that loops through and creates the calendar, keep in my this is cfscript

       

      // loop thru all the dates in this month
           for (i=1; i lte DaysInMonth(firstDay); i = i+1) {
                //is it Sunday? if so start new row.
                if (DayOfWeek(CreateDate(curYear, curMonth, i)) eq 1) {
                     outString = outString & "<tr>";
                }
                // insert a day
                outString = outString & "<td align='left' valign='top' width='#width#px' ";
                if(CreateDate(curYear, curMonth, i) eq CreateDate(year(now()),month(now()),day(now()))){
                     outString = outString & "class='day-current'";
                }else{
                     outString = outString & "style='background-color: whitesmoke' ";
                }
                outString = outString & "height='#height#'>#i#<br></td> ";

      I realize that last line is where I need my output to go but for the life of me I cant get any queries to run or compare in cfscript.  I am fairly new to cfscript.

      Any help would be greatly appreciated!!
      Thanks!
        • 1. Re: Using SQL within cfscript
          Michael Borbor Level 4

          You could create the outStringin a standard "way" using cfset and then 

          output it cfoutput.

           

          Sincerely,

           

          Michael

           

          El 10/05/2009, a las 16:13, davella <forums@adobe.com> escribió:

           

          >

          Hey everyone,

          >

          I am using the cfscript I got for a calendar from this website: http://www.drisgill.com/files/cal.txt

          >

          Its fairly straight forward and displayed a generic plain calendar 

          for the month.  I am trying to make it so the calendar fills 

          dynamically with information I pull from a database.  So 

          essentially, as the calendar adds days I want it to see if that date 

          equals the date I have in the DB, if it does then it would display 

          simple text like, "Event."

          >

          This is the code that loops through and creates the calendar, keep 

          in my this is cfscript

          >

          // loop thru all the dates in this month

               for (i=1; i lte DaysInMonth(firstDay); i = i+1) {

                    //is it Sunday? if so start new row.

                    if (DayOfWeek(CreateDate(curYear, curMonth, i)) eq 1) {

                       &n bsp; outString = outString & "<tr>";

                    }

                    // insert a day

                    outString = outString & "<td align='left' valign='top' 

          width='#width#px' ";

                    if(CreateDate(curYea r, curMonth, i) eq 

          CreateDate(year(now()),month(now()),day(now()))){

                       &n bsp; outString = outString & "class='day-current'";

                    }else{

                       &n bsp; outString = outString & "style='background-

          color: whitesmoke' ";

                    }

                    outString = outString & "height='#height#'>#i#<br></td> ";

          >

          I realize that last line is where I need my output to go but for the 

          life of me I cant get any queries to run or compare in cfscript.  I 

          am fairly new to cfscript.

          >

          Any help would be greatly appreciated!!

          Thanks

          >

          >

          • 2. Re: Using SQL within cfscript
            ilssac Level 5

            First of all <cfscript></cfscript> is nothing special.  It is just a style choice.  All that code can be rewritting with corresponding <cftag> based syntax such as <cfloop...> and <cfif> and it would work exactly the same.

             

            Secondly.  You can not yet do a query directly in <cfscript> but you can easily call a User Defined Function that does the query for you.

             

            Thirdly.  That is probably not the best solution.  One does not usually want to do a query over and over inside a loop like that.  It can be very poor performance.  The better solution is usually to do one query to get all the data and then use the returned record set or some other data structure based on it on the returned record set inside the loop.