erikTsomik
asked on
ColdFusion Suggestion
I have a task which involve a lot decision making. For example, I have the main course. If the there is no completion for that course i need to check the alternative courses, (if there any). If there are alternative course and they done by the date EndDate of the main course the give completion for the main course (all the alternaitives has be done), Also check the prerequsite course. If there are any make sure they are done . If tey not done then grayed out the main course.
What would be best approach to this task. There a lot more criterias for the task But I want to start from the begging.
What would be best approach to this task. There a lot more criterias for the task But I want to start from the begging.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
I was really just a little joke, that's how you answer many of your questions.
Here's my real suggestion.
Make a flow chart which each decision you have to make
Here's a sample image
http://mtanga.com/images/flowchart.jpg
Then you convert each step into coldfusion, perform the needed test using cfquery (or whatever is needed) check it with CFIF and branch down another path.
You can set a series of flags to help keep you organized such as this..
<cfset isCourseCompleted = false>
<cfset isOtherCoursesAvailable = true>
.. etc..
Then you can use this variables in your code along the way..
Here's my real suggestion.
Make a flow chart which each decision you have to make
Here's a sample image
http://mtanga.com/images/flowchart.jpg
Then you convert each step into coldfusion, perform the needed test using cfquery (or whatever is needed) check it with CFIF and branch down another path.
You can set a series of flags to help keep you organized such as this..
<cfset isCourseCompleted = false>
<cfset isOtherCoursesAvailable = true>
.. etc..
Then you can use this variables in your code along the way..
ASKER
what I am doing is I am creating a static query for the main course, prereq, and alternative. Then I will combibe all 3 static query in to one ,\
Do you think it will work ???
Do you think it will work ???
I think having a query to answer each of the questions you have is good.
The questions being:
1) Is the main course completed
2) Are there any alternative courses, are they done by endDate
3) Are there any prerequisite courses, are they done
If you can write a query to answer each of these, I think that will really help you.
I don't think there are any real advantages to combining them into one query. Just keep them separate, it will be easier to code and debug. It won't be any slower..
The questions being:
1) Is the main course completed
2) Are there any alternative courses, are they done by endDate
3) Are there any prerequisite courses, are they done
If you can write a query to answer each of these, I think that will really help you.
I don't think there are any real advantages to combining them into one query. Just keep them separate, it will be easier to code and debug. It won't be any slower..
ASKER
OK. I ve built the the 3 queries and trying to output the result but get the error that query of queries only support 2 tables . Please advice . How can i get around this . I do not really want to use another QofQ
here is how I am outputting
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Dynamic Menu System</title>
<style type="text/css">
body,tr,td,th{font-family:Arial, Helvetica, sans-serif; font-size:14px;}
html{background-color:#4AA5FF}
</style>
</head>
<cfinclude template="DynamicMenu_dataset.cfm">
<cfdump var="#TempQuery#">
<cfdump var="#PreReq#">
<cfdump var="#Alternatives#">
<cfquery name="TempQuery" dbtype="query">
Select *
from TempQuery,PreReq,Alternatives
where TempQuery.WorkFlowID = PreReq.WorkFlowID
and Alternatives.WorkFlowID = TempQuery.WorkFlowID
</cfquery>
<body>
<h2 align="center">Dynamic Menu System</h2>
<table width="50%" border="1">
<cfoutput query="TempQuery" group="workFlowID">
<cfif DoIseeThelink eq 1>
<tr>
<td>#WORKFLOWID#--#MAINCOURSENAME#</td>
<td>Due Date:#DateFormat(DueDate,"mm/dd/yyyy")#</td>
</tr>
<tr>
<td colspan="2">
<strong>Prerequisites:</strong><br />
<cfoutput>#PREREQNAME#</cfoutput>
</td>
</tr>
<tr>
<td colspan="2">
<strong>Alternatives:</strong><br />
<cfoutput>#ALTERNATIVENAME#</cfoutput>
</td>
</tr>
</cfif>
</cfoutput>
</table>
</body>
</html>
ASKER