Learn how to a build a cloud-first strategyRegister Now

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 337
  • Last Modified:

if-else statement for coldfusion

I'm a newbie on coldfusion so please someone help me.
<CFset today = NOW()>
 
<cfif not isDefined("Form.fileupload") OR Form.fileupload EQ "">
<cfquery datasource = "technology">
INSERT INTO sharex_2007
VALUES('#Form.title#', #CreateODBCDateTime (Form.date#, '#Form.presenter#', '#Form.group#', '#Form.remarks#', '#Form.ClientFile#', #Form.audience#)
 
</cfquery>
 
<cfelseif>
<cffile action="upload"
filefield="fileupload"
destination="d:\intranet_info\sharing\shared_x\newsharex\2007\"
nameconflict="overwrite">
 
<cfquery datasource = "technology">
INSERT INTO sharex_2007
VALUES('#Form.title#', #CreateODBCDateTime (Form.date#, '#Form.presenter#', '#Form.group#', '#Form.remarks#', '#Form.ClientFile#', #Form.audience#)
 
</cfquery>
 
<cfelseif>
<cffile action="upload"
filefield="fileupload"
destination="d:\intranet_info\sharing\shared_x\newsharex\2007\"
nameconflict="overwrite">
 
<cfquery datasource = "technology">
INSERT INTO sharex_2007
VALUES('#Form.title#', #CreateODBCDateTime (Form.date#, '#Form.presenter#', '#Form.group#', '#Form.remarks#', '#Form.ClientFile#', #Form.audience#)
 
</cfquery>
 
</cfif>

Open in new window

0
alexanderax
Asked:
alexanderax
  • 4
1 Solution
 
PluckaCommented:
You cant do <cfelseif without another condition should look something like this

<cfif value eq 1>
  do something
<cfelseif value eq 2>
  do something different
<cfelseif value eq 3>
  do something different again>
<cfelse>
   otherwise do this
</cfif>
0
 
alexanderaxAuthor Commented:
But is there any other ways to use the above statement? I want it to be like when user upload the file into the database, it will automatic updated in the database and it's particular folder(example like 2007 folder, 2008 folder etc..)when uploading excel or pdf file into each of the folder. Below is a must include ccondition after those statement in bold and underlined.



INSERT INTO sharex_2007
VALUES('#Form.title#', #CreateODBCDateTime (Form.date#, '#Form.presenter#', '#Form.group#', '#Form.remarks#', '#Form.ClientFile#', #Form.audience#)





(FIRST condition)
filefield="fileupload"
destination="d:\intranet_info\sharing\shared_x\newsharex\2007\"
nameconflict="overwrite">


INSERT INTO sharex_2007
VALUES('#Form.title#', #CreateODBCDateTime (Form.date#, '#Form.presenter#', '#Form.group#', '#Form.remarks#', '#Form.ClientFile#', #Form.audience#)

(second condition)
filefield="fileupload"
destination="d:\intranet_info\sharing\shared_x\newsharex\2008\"
nameconflict="overwrite">


INSERT INTO sharex_2007
VALUES('#Form.title#', #CreateODBCDateTime (Form.date#, '#Form.presenter#', '#Form.group#', '#Form.remarks#', '#Form.ClientFile#', #Form.audience#)



0
 
alexanderaxAuthor Commented:
But is there any other ways to use the above statement? I want it to be like when user upload the file into the database, it will automatic updated in the database and it's particular folder(example like 2007 folder, 2008 folder etc..)when uploading excel or pdf file into each of the folder. Below is a must include ccondition after those statement in bold and underlined.

just now did not underline the top few sentence..

<cfif not isDefined("Form.fileupload") OR Form.fileupload EQ "">
<cfquery datasource = "technology">
INSERT INTO sharex_2007
VALUES('#Form.title#', #CreateODBCDateTime (Form.date#, '#Form.presenter#', '#Form.group#', '#Form.remarks#', '#Form.ClientFile#', #Form.audience#)

</cfquery>



(FIRST condition)
<CFFILE
filefield="fileupload"
destination="d:\intranet_info\sharing\shared_x\newsharex\2007\"
nameconflict="overwrite">

<CFQUERY datasource="technology">
INSERT INTO sharex_2007
VALUES('#Form.title#', #CreateODBCDateTime (Form.date#, '#Form.presenter#', '#Form.group#', '#Form.remarks#', '#Form.ClientFile#', #Form.audience#)
</CFQUERY>
(second condition)
<CFFILE
filefield="fileupload"
destination="d:\intranet_info\sharing\shared_x\newsharex\2008\"
nameconflict="overwrite">

<CFQUERY datasource="technology">
INSERT INTO sharex_2007
VALUES('#Form.title#', #CreateODBCDateTime (Form.date#, '#Form.presenter#', '#Form.group#', '#Form.remarks#', '#Form.ClientFile#', #Form.audience#)

</CFQUERY
0
Veeam Disaster Recovery in Microsoft Azure

Veeam PN for Microsoft Azure is a FREE solution designed to simplify and automate the setup of a DR site in Microsoft Azure using lightweight software-defined networking. It reduces the complexity of VPN deployments and is designed for businesses of ALL sizes.

 
SidFishesCommented:
couple of things first

avoid calling fields date as this is a reserved word in most db's... use something like theDate  

you're missing a closing )

#CreateODBCDateTime (Form.date)#,

you don't need an if then at all...just get the year

<cfset formYear = datepart("Yyyy",form.theDate)>

and use the variable

<CFFILE
filefield="fileupload"
destination="d:\intranet_info\sharing\shared_x\newsharex\#formYear#\"
nameconflict="overwrite">



<CFQUERY datasource="technology">
INSERT INTO sharex_2007
VALUES(
<cfqueryparam cfsqltype="cf_sql_varchar" value="#Form.title#">,
 <cfqueryparam cfsqltype="cf_sql_date" value="#Form.date#">,
 <cfqueryparam cfsqltype="cf_sql_varchar" value="#Form.presenter#">,
<cfqueryparam cfsqltype="cf_sql_varchar" value="#Form.group#">,
<cfqueryparam cfsqltype="cf_sql_longvarchar" value="#Form.remarks#">,
<cfqueryparam cfsqltype="cf_sql_varchar" value="#Form.ClientFile#">,
<cfqueryparam cfsqltype="cf_sql_integer" value=" #Form.audience#">)
</CFQUERY>

I've used <cfqueryparam..> because if you don't you -will- be hacked via sql injection if this is a publically accessible
website. Even if not, it's a good idea to use it. You can eliminate the createodbcdate as cfqueryparam handles the binding itself

0
 
alexanderaxAuthor Commented:
thanks SidFishes for the solution. now i still got another problems. i now trying to develop an web-base search engine. i'm not sure why i when i input numbers in the text box, there's no results shown or that particular file was not shown.  
0
 
alexanderaxAuthor Commented:
Hi SidFishes, recently i found out that when i uploaded my files, it can be successfully uploaded BUT when i click new upload for new author again, the folder that the files should be saving inside, "overwrite" my current file that's been uploaded previously and same goes to updating. Example: Like when i UPLOAD "rash.xsl",  it WILL save the excel file to the 2008 folder but when i go to my edit page and click browse to upload the "rash.xsl" file again (assuming that i already updated the rash.xsl), and i click on the "UPDATE" button, the 2008 folder suppose to have this "rash.xsl" with the updated version but instead the files DISAPPEAR!!  But if i browse and upload another files like "new.xsl", that particular files will still be saved to the 2008 folder together with the old VERSION rash.xsl files. All i know is that same filename will disappear but diffenert won't. Want i want is to be able to update older excel/word/pdf etc files instead of keep deleting the old one then upload the new one up.  May i know why is this happening?
0

Featured Post

NEW Veeam Agent for Microsoft Windows

Backup and recover physical and cloud-based servers and workstations, as well as endpoint devices that belong to remote users. Avoid downtime and data loss quickly and easily for Windows-based physical or public cloud-based workloads!

  • 4
Tackle projects and never again get stuck behind a technical roadblock.
Join Now