• Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
    Dedicated community for Japanese speakers
  • 한국 커뮤니티
    Dedicated community for Korean speakers
Exit
0

cfif variable is query values

Guest
Jun 24, 2012 Jun 24, 2012

Copy link to clipboard

Copied

Hi all,

In the last section of the code I am testing to see if meetingdate is a holiday, what is the correct way to do it , am I on the right track? Thanks

<!--- QUERY TO GET HOLIDAY DATES --->
<CFQUERY name="hols" datasource="salesdb">
SELECT holiday, holidayid FROM holidays
</CFQUERY>

<!--- SET MEETINGDATE ACCORDING TO DAY OF THE WEEK --->
<cfset meetingDate = trim(form.meeting)>
<cfif not isDate(meetingDate)>
<cfif DayOfWeek(Now()) eq 2>
<cfset meetingDate = dateAdd("d", 2, now())>
<cfelseif DayOfWeek(Now()) eq 3>
<cfset meetingDate = dateAdd("d", 2, now())>
<cfelseif DayOfWeek(Now()) eq 4>
<cfset meetingDate = dateAdd("d", 2, now())>

</cfif>
</cfif>

<!--- NOW CHECK IF NEW MEETINGDATE IS A HOLIDAY AND ADD DAYS--->

<cfif meetingDate = hols.holiday >
<cfif meetingDate eq 2>
<cfset meetingDate = dateAdd("d", 3, now())>
<cfelseif meetingDate eq 3>
<cfset meetingDate = dateAdd("d", 3, now())>
<cfelseif meetingDate eq 4>
<cfset meetingDate = dateAdd("d", 2, now())>

</cfif>

Views

1.4K

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines

correct answers 1 Correct answer

Deleted User
Jun 26, 2012 Jun 26, 2012

worked it out, thanks for the help guys

<CFQUERY name="hols" datasource="salesdb">
SELECT * FROM holidays
</CFQUERY>

<cfset meetingDate = '2012-07-20'>

<cfoutput>#meetingDate#<br>
#DayOfWeek(meetingDate)#</cfoutput>

<cfif ListFind(ValueList(hols.holiday), meetingDate)>

<cfif DayOfWeek(meetingDate) eq 2>
<cfset meetingDate = dateAdd("d", 2, meetingDate)>
<cfelseif DayOfWeek(meetingDate) eq 3>
<cfset meetingDate = dateAdd("d", 5, meetingDate)>
<cfelseif DayOfWeek(meetingDate) eq 4>
<cfset meetingDate = dateAdd

...

Votes

Translate

Translate
LEGEND ,
Jun 25, 2012 Jun 25, 2012

Copy link to clipboard

Copied

You appear to be missing a function call in the bottom part of your code.  It also appears to be incomplete.  You don't have anything for Thursday and Friday.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Guest
Jun 25, 2012 Jun 25, 2012

Copy link to clipboard

Copied

Hi Dan

I got rid of  Thursday , Friday , Saturday and Sunday to make the code easier to read. What function call am I missing?

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
LEGEND ,
Jun 25, 2012 Jun 25, 2012

Copy link to clipboard

Copied

If you want the code to be easier to read, consider using switch/case instead of if/else if/else. 

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Guest
Jun 25, 2012 Jun 25, 2012

Copy link to clipboard

Copied

Hi I'm going back to basics on this one, using a date that I know is in the hols query, then using listfind to see if it appears. I run the following code which should add 5 days to the meetingDate date as the 25th of December 2012 is a tuesday but it doesn't. Why not? Thanks

<CFQUERY name="hols" datasource="salesdb">
SELECT * FROM holidays
</CFQUERY>

<cfset meetingDate = '2012-12-25'>

<cfif ListFind(ValueList(hols.holiday), meetingDate)>

<cfif meetingDate eq 2>
<cfset meetingDate = dateAdd("d", 2, now())>
<cfelseif meetingDate eq 3>
<cfset meetingDate = dateAdd("d", 5, now())>
<cfelseif meetingDate eq 4>
<cfset meetingDate = dateAdd("d", 2, now())>
<cfelseif meetingDate eq 5>
<cfset meetingDate = dateAdd("d", 4, now())>
<cfelseif meetingDate eq 6>
<cfset meetingDate = dateAdd("d", 3, now())>
<cfelseif meetingDate eq 7>
<cfset meetingDate = dateAdd("d", 2, now())>
<cfelseif meetingDate eq 1>
<cfset meetingDate = dateAdd("d", 1, now())>
</cfif>


</cfif>

<cfdump var="#hols#"> 
<cfoutput>#meetingDate#</cfoutput>

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
LEGEND ,
Jun 25, 2012 Jun 25, 2012

Copy link to clipboard

Copied

Why not? 

You are checking to see if '2012-12-25' is 2, 3, 4, 5, 6, 7, or 1,  Which one did you expect to return true?

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Guest
Jun 26, 2012 Jun 26, 2012

Copy link to clipboard

Copied

I expected this one to return true as 2012-12-25 is a tuesday:

<cfelseif meetingDate eq 3>

<cfset meetingDate = dateAdd("d", 5, now())>

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Guest
Jun 26, 2012 Jun 26, 2012

Copy link to clipboard

Copied

Ah sorry I forgot to check for day of the week! I'll try with this code and see!

<cfelseif DayOfWeek(meetingDate) eq 3>

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Guest
Jun 26, 2012 Jun 26, 2012

Copy link to clipboard

Copied

LATEST

worked it out, thanks for the help guys

<CFQUERY name="hols" datasource="salesdb">
SELECT * FROM holidays
</CFQUERY>

<cfset meetingDate = '2012-07-20'>

<cfoutput>#meetingDate#<br>
#DayOfWeek(meetingDate)#</cfoutput>

<cfif ListFind(ValueList(hols.holiday), meetingDate)>

<cfif DayOfWeek(meetingDate) eq 2>
<cfset meetingDate = dateAdd("d", 2, meetingDate)>
<cfelseif DayOfWeek(meetingDate) eq 3>
<cfset meetingDate = dateAdd("d", 5, meetingDate)>
<cfelseif DayOfWeek(meetingDate) eq 4>
<cfset meetingDate = dateAdd("d", 2, meetingDate)>
<cfelseif DayOfWeek(meetingDate) eq 5>
<cfset meetingDate = dateAdd("d", 4, meetingDate)>
<cfelseif DayOfWeek(meetingDate) eq 6>
<cfset meetingDate = dateAdd("d", 3, meetingDate)>
<cfelseif DayOfWeek(meetingDate) eq 7>
<cfset meetingDate = dateAdd("d", 2, meetingDate)>
<cfelseif DayOfWeek(meetingDate) eq 1>
<cfset meetingDate = dateAdd("d", 1, meetingDate)>
</cfif>


</cfif>

<cfdump var="#hols#"> 
<cfoutput> #meetingdate# <br>
#DayOfWeek(meetingDate)#</cfoutput>

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Resources
Documentation