Solved

if-else statement for coldfusion

Posted on 2009-03-31
6
324 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
How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

 
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

Threat Intelligence Starter Resources

Integrating threat intelligence can be challenging, and not all companies are ready. These resources can help you build awareness and prepare for defense.

Join & Write a Comment

When setting up new project requests for our site, one of the most powerful tools our team has available to use is Axure (http://www.axure.com/). It’s a tool for creating software and web prototypes that can function and interact as if it were the a…
Introduction In this tutorial, I'll explain how to create an animated progress meter in a wireframe prototype developed using Axure RP 7.0 - a leading prototyping tool for designing web sites and software. (For more information about Axure and gett…
The purpose of this video is to demonstrate how to properly insert a Vimeo Video into a WordPress site or Blog. This will be demonstrated using a Windows 8 PC. Go to your WordPress login page. This will look like the following: mywebsite.com/wp…
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…

747 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

10 Experts available now in Live!

Get 1:1 Help Now