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: &nbsp;&nbsp;
<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.

 

About This Tutorial
Author: Eric Giblock
Skill Level: Beginner 
 
 
 
Platforms Tested: CF5
Total Views: 79,093
Submission Date: April 26, 2004
Last Update Date: June 05, 2009
All Tutorials By This Autor: 1
Discuss This Tutorial
  • bays, You don't need quotes around numeric variables, only string text.

  • at line: WHERE OrderNumber = #orderid# need quotes around variable ... like '#orderid#'

Advertisement

Sponsored By...
Mobile App Development (IOS, Android, Cordova, Phonegap, Objective-C, Java) - Austin, Texas Mobile Apps - Touch512, LLC.