Skip to main content
Inspiring
July 25, 2022
Answered

CFPARAM OR ...

  • July 25, 2022
  • 2 replies
  • 274 views

Bonjour,

Alors que je l'ai fait de nombreuses fois dans d'autres programmes, cette fois-ci j'ai une erreur :

Quelle est la bonne méthode ?

Voici une partie de mon code

<!--------------------------------- CREATION ------------------------>
	
<CFIF mode IS "creation">
	<TABLE width="100%" border="0" bordercolor="yellow" cellspacing="0" cellpadding="0" align="CENTER">
		<CFFORM action="beug.cfm?mode=Insert" enctype="multipart/form-data" method="POST">
			<TR>
				<TD class="txtmm" width="20%">&nbsp;Prix TTC en euro</TD><!--- Prix TTC --->
				<TD align="right" class="txtmm">	
					<CFINPUT type="text" name="NumberFormat(LP_PrixJaune, '99.99')" size="17" maxlength="40" style="text-align:right">
				</TD>
				<TD align="right" class="txtmm">	
					<CFINPUT type="Text" name="NumberFormat(PrixBleu, '99.99')" size="17" maxlength="40" style="text-align:right">
				</TD>
			</TR>
		</CFFORM>				
	</TABLE>
</CFIF>
		
<!--------------------------------- INSERT ----------------------->
				
<CFIF mode IS "insert">
        <CFIF form.PrixBleu IS "" AND form.Prixjaune IS "" AND form._Prixrouge IS "" AND form.LP_PrixVert IS "">
		<cfset AffUpdate=affUpdate & "Une, au moins, des zones Prix est requise<BR>">
	</CFIF>

	<cfparam name="PrixBleu" default=0>
        <cfparam name="LP_PrixJaune" default=0>
	<!--- <CFIF form.PrixBleu IS ""><cfset PrixBleu=0></CFIF> --->
	<!--- <CFIF form.LP_PrixJaune IS ""><cfset LP_PrixJaune=0></CFIF> --->
	<!--- <CFIF NOT IsDefined("form.LP_PrixJaune")><cfset form.LP_PrixJaune=0></CFIF> --->
			
	<CFOUTPUT>form.LP_PrixJaune : #form.LP_PrixJaune# - PrixBleu : #form.PrixBleu#</CFOUTPUT>
	<CFQUERY name="Prix" datasource="#session.dbname#">
		INSERT INTO Prix
			LP_PrixJaune,
			PrixBleu
			)
		VALUES 
			'#form.LP_ISBNPoche#',
			#form.LP_PrixJaune#,
			#form.PrixBleu#
			)
	</CFQUERY>
</CFIF>

J'ai 2 soucis :

1 - je voudrais avoir 0 si la zone est vide alors que j'obtiens ''

2 - comment tester une variable si elle est absente d'un Form .

Merci pour votre éclairage car cela fonctionnait jusqu'à présent !

Cordialement

This topic has been closed for replies.
Correct answer BKBK

1 - je voudrais avoir 0 si la zone est vide alors que j'obtiens ''
Then replace

<cfparam name="form.PrixBleu" default=0>

with

<cfif isDefined("form.PrixBleu") and trim(form.PrixBleu) is "">
    <cfset form.PrixBleu = 0>
</cfif>

 

2 - comment tester une variable si elle est absente d'un Form .

 

<cfif not isDefined("form.LP_ISBNPoche")>
    ...
</cfif>

2 replies

BKBK
Community Expert
BKBKCommunity ExpertCorrect answer
Community Expert
July 31, 2022

1 - je voudrais avoir 0 si la zone est vide alors que j'obtiens ''
Then replace

<cfparam name="form.PrixBleu" default=0>

with

<cfif isDefined("form.PrixBleu") and trim(form.PrixBleu) is "">
    <cfset form.PrixBleu = 0>
</cfif>

 

2 - comment tester une variable si elle est absente d'un Form .

 

<cfif not isDefined("form.LP_ISBNPoche")>
    ...
</cfif>
ZNBAuthor
Inspiring
August 1, 2022

Merci encore

c'est ce que je fais mais j'ai des "blocages"  je ne sais pas pourquoi !

Cordialement

 

BKBK
Community Expert
Community Expert
July 31, 2022

First, some suggestions:

 

Replace 

 

<CFINPUT type="text" name="NumberFormat(LP_PrixJaune, '99.99')" size="17" maxlength="40" style="text-align:right">

<CFINPUT type="Text" name="NumberFormat(PrixBleu, '99.99')" size="17" maxlength="40" style="text-align:right">

 

respectively with

 

<CFINPUT type="text" name="LP_PrixJaune" value="#NumberFormat(form.LP_PrixJaune, '99.99')#" size="17" maxlength="40" style="text-align:right">

<CFINPUT type="Text" name="PrixBleu" value="#NumberFormat(form.PrixBleu, '99.99')#" size="17" maxlength="40" style="text-align:right">

 

Replace

 

<CFIF mode IS "creation">

<CFIF mode IS "insert">

 

respectively with 

 

<CFIF url.mode IS "creation">

<CFIF url.mode IS "insert">

 

Use cfparam - as you have done - to set the default values:

 

<cfparam name="form.PrixBleu" default=0>
<cfparam name="form.LP_PrixJaune" default=0>
<cfparam name="form._PrixRouge" default=0>
<cfparam name="form.LP_PrixVert" default=0>
<cfparam name="form.LP_ISBNPoche" default="">

 

Include a submit button for the form.

 

With those suggestions, your code should be something like

 

 

<CFIF url.mode IS "creation">
	<cfparam name="form.PrixBleu" default=0>
	<cfparam name="form.LP_PrixJaune" default=0>
	
	<TABLE width="100%" border="0" bordercolor="yellow" cellspacing="0" cellpadding="0" align="CENTER">
		<CFFORM action="beug.cfm?mode=Insert" enctype="multipart/form-data" method="POST">
			<TR>
				<TD class="txtmm" width="20%">&nbsp;Prix TTC en euro</TD><!--- Prix TTC --->
				<TD align="right" class="txtmm">	
					<CFINPUT type="text" name="LP_PrixJaune" value="#NumberFormat(form.LP_PrixJaune, '99.99')#" size="17" maxlength="40" style="text-align:right">
				</TD>
				<TD align="right" class="txtmm">	
					<CFINPUT type="Text" name="PrixBleu" value="#NumberFormat(form.PrixBleu, '99.99')#" size="17" maxlength="40" style="text-align:right">
				</TD>
				<!--- Suggestion --->
				<TD align="right" class="txtmm">	
					<CFINPUT type="submit" name="Insert" value="Insert">
				</TD>
			</TR>
		</CFFORM>				
	</TABLE>
</CFIF>
		
<!--------------------------------- INSERT ----------------------->
				
<CFIF url.mode IS "insert">
	<cfparam name="form.PrixBleu" default=0>
	<cfparam name="form.LP_PrixJaune" default=0>
	<cfparam name="form._PrixRouge" default=0>
	<cfparam name="form.LP_PrixVert" default=0>
	<cfparam name="form.LP_ISBNPoche" default=0>
	
    <CFIF form.PrixBleu IS 0 AND form.LP_Prixjaune IS 0 AND form._Prixrouge IS 0 AND form.LP_PrixVert IS 0>
		<cfset AffUpdate=affUpdate & "Une, au moins, des zones Prix est requise<BR>">
	</CFIF>
		
	<CFOUTPUT>form.LP_PrixJaune : #form.LP_PrixJaune# - PrixBleu : #form.PrixBleu#</CFOUTPUT>
	<CFQUERY name="Prix" datasource="#session.dbname#">
		INSERT INTO Prix
			LP_ISBNPoche,
			LP_PrixJaune,
			PrixBleu
			)
		VALUES 
			'#form.LP_ISBNPoche#',
			#form.LP_PrixJaune#,
			#form.PrixBleu#
			)
	</CFQUERY>
</CFIF>