bays, You don't need quotes around numeric variables, only string text.
Order Status Tutorial
- Good For anyone doing a dynamic
page to check inventory or a status of an order
By Eric Giblock
(eric@webalterations.com)
4/26/2004
TEXT IN FUSCIA IS JAVASCRIPT FORM CHECKING. THIS REQUIRES
THE USER TO ENTER A ORDER NUMBER.
TEXT IN BLUE IS WHAT YOU NEED TO EDIT TO WORK WITH YOUR
DATABASE.
- ordercheck.cfm -
-- Insert the following code between the <HEAD>
tags. This is a JavaScript code from Dreamweaver for form validation. --
<script language="JavaScript"
type="text/JavaScript">
<!--
function MM_findObj(n, d) { //v4.01
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length)
{
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for
(i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++)
x=MM_findObj(n,d.layers[i].document);
if(!x && d.getElementById) x=d.getElementById(n);
return x;
}
function YY_checkform() { //v4.71
//copyright (c)1998,2002 Yaromat.com
var a=YY_checkform.arguments,oo=true,v='',s='',err=false,r,o,at,o1,t,i,j,ma,rx,cd,cm,cy,dte,at;
for (i=1; i<a.length;i=i+4){
if (a[i+1].charAt(0)=='#'){r=true;
a[i+1]=a[i+1].substring(1);}else{r=false}
o=MM_findObj(a[i].replace(/\[\d+\]/ig,""));
o1=MM_findObj(a[i+1].replace(/\[\d+\]/ig,""));
v=o.value;t=a[i+2];
if (o.type=='text'||o.type=='password'||o.type=='hidden'){
if (r&&v.length==0){err=true}
if (v.length>0)
if (t==1){ //fromto
ma=a[i+1].split('_');if(isNaN(v)||v<ma[0]/1||v > ma[1]/1){err=true}
} else if (t==2){
rx=new RegExp("^[\\w\.=-]+@[\\w\\.-]+\\.[a-zA-Z]{2,4}$");if(!rx.test(v))err=true;
} else if (t==3){ // date
ma=a[i+1].split("#");at=v.match(ma[0]);
if(at){
cd=(at[ma[1]])?at[ma[1]]:1;cm=at[ma[2]]-1;cy=at[ma[3]];
dte=new Date(cy,cm,cd);
if(dte.getFullYear()!=cy||dte.getDate()!=cd||dte.getMonth()!=cm){err=true};
}else{err=true}
} else if
(t==4){ // time
ma=a[i+1].split("#");at=v.match(ma[0]);if(!at){err=true}
} else if
(t==5){ // check this 2
if(o1.length)o1=o1[a[i+1].replace(/(.*\[)|(\].*)/ig,"")];
if(!o1.checked){err=true}
} else if (t==6){ // the same
if(v!=MM_findObj(a[i+1]).value){err=true}
}
} else
if (!o.type&&o.length>0&&o[0].type=='radio'){
at = a[i].match(/(.*)\[(\d+)\].*/i);
o2=(o.length>1)?o[at[2]]:o;
if
(t==1&&o2&&o2.checked&&o1&&o1.value.length/1==0){err=true}
if (t==2){
oo=false;
for(j=0;j<o.length;j++){oo=oo||o[j].checked}
if(!oo){s+='* '+a[i+3]+'\n'}
}
} else if (o.type=='checkbox'){
if((t==1&&o.checked==false)||(t==2&&o.checked&&o1&&o1.value.length/1==0)){err=true}
} else if (o.type=='select-one'||o.type=='select-multiple'){
if(t==1&&o.selectedIndex/1==0){err=true}
}else if (o.type=='textarea'){
if(v.length<a[i+1]){err=true}
}
if (err){s+='* '+a[i+3]+'\n';
err=false}
}
if (s!=''){alert('The required
information is incomplete or contains errors:\t\t\t\t\t\n\n'+s)}
document.MM_returnValue = (s=='');
}
//-->
</script>
-- Insert the following into the <BODY> part of the
file --
<!-- This beginning part is just the basic form to get
the order number from the user -->
<strong>
Order Status <br><br>
<form action="ordercheck.cfm"
method="post" name="Form"
id="Form">
Please Enter Your Order Number:
<input name="orderid"
type="text" id="ordernum"
size="12" maxlength="12">
<input name="Submit"
type="submit" onClick="YY_checkform('Form','ordernum','#q','0','Please
Enter an Order Number');return document.MM_returnValue"
value="Search For Order">
</form>
</strong>
<br>
<br>
<!-- End of user Input -->
<!-- When the form is clicked, this is what gets processed. -->
<cfif IsDefined("FORM.orderid")>
<CFQUERY NAME="GetRecords"
DATASOURCE="your-datasource-name">
SELECT OrderNumber, status, updated
FROM tbl_order
WHERE OrderNumber = #orderid#
</CFQUERY>
<table border="0"
cellspacing="2"
cellpadding="2">
<tr>
<td width="150"><strong>Order
Number</strong></td>
<td width="150"><strong>Status</strong></td>
<td width="200"><strong>Last
Updated</strong></td>
</tr>
<cfif
GetRecords.RecordCount>
<cfoutput query="GetRecords">
<cfif GetRecords.RecordCount GTE 1>
<tr>
<td width="150">#Orderid#</td>
<td width="150">#status#</td>
<td width="200">#DateFormat(updated,
'mm/dd/yyyy')# - #TimeFormat(updated, 'hh:mm TT')#</td>
</tr>
<cfelse>
<tr>
<td>#orderid#</tD>
<td colspan="2">
Order Number Not Found. Please Try Again.</td>
</tr>
</cfif>
</cfoutput>
<cfelse>
<table border="0"
cellspacing="2"
cellpadding="2">
<tr>
<td><cfoutput>#orderid#</cfoutput></tD>
<td colspan="2">Order
Number Not Found. Please Try Again.</td>
</tr>
</table>
</cfif>
yourdatabase.mdb (or whatever)
tbl_order
ID = (auto number) primary key Basic ID of the database entry
Orderid = Number Order Number
Status = Text Status of the Order
Updated = Date & Time Date and Time the record was updated.
Coming Soon ? Part 2 ? An Easy Way for the Users to Update the Database for
the order inquiry.
bays, You don't need quotes around numeric variables, only string text.
at line: WHERE OrderNumber = #orderid# need quotes around variable ... like '#orderid#'