Solved

if-else statement for coldfusion

Posted on 2009-03-31
6
326 Views
Last Modified: 2013-12-16
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
Comment
Question by:alexanderax
  • 4
6 Comments
 
LVL 18

Expert Comment

by:Plucka
ID: 24036610
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
 

Author Comment

by:alexanderax
ID: 24036914
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
 

Author Comment

by:alexanderax
ID: 24036984
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
VMware Disaster Recovery and Data Protection

In this expert guide, you’ll learn about the components of a Modern Data Center. You will use cases for the value-added capabilities of Veeam®, including combining backup and replication for VMware disaster recovery and using replication for data center migration.

 
LVL 36

Accepted Solution

by:
SidFishes earned 500 total points
ID: 24041187
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
 

Author Closing Comment

by:alexanderax
ID: 31565201
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
 

Author Comment

by:alexanderax
ID: 24155633
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

Windows Server 2016: All you need to know

Learn about Hyper-V features that increase functionality and usability of Microsoft Windows Server 2016. Also, throughout this eBook, you’ll find some basic PowerShell examples that will help you leverage the scripts in your environments!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
how can display objects ? 3 33
How do specify keydowns in JavaScript 3 42
HTML5 Get data in table rows 5 26
how can i apply an assert arrayEqual function ? 2 23
The task A number given should be formatted for easy reading by separating digits into triads. Format must be made inline via JavaScript, i.e., frameworks / functions are not welcome. So let’s take a number like this “12345678.91¿ and format i…
This article provides a case study on how our local youth baseball league deployed a new website, including the platform selection, implementation and benefits to the league.
The purpose of this video is to demonstrate how to reset a WordPress password if you are locked out and cannot reset the password. A typical use would be if you cannot access the email to which WordPress would send the password recovery email to…
The purpose of this video is to demonstrate how to set up the permalinks on a WordPress Website. This will be demonstrated using a Windows 8 PC. Go to your WordPress login page. This will look like the following: mywebsite.com/wp-login.php : Go t…

815 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

9 Experts available now in Live!

Get 1:1 Help Now