Hello,

I've been doing pretty well w/ my site so far but the powers-that-be requested 
a last minute addendum to the code and I'm not sure how to write it.  I was 
hoping you folks could be of assistance to this developer-in-training.  

As it stands, a certain page (random.cfm) will pull info based on the url.id 
for a client company (demographics mainly), then accept two numbers: the first 
being the number of that clients' employees they would like to drug-screen, and 
the second being a few 'backup' employees in case one of the primarily chosen 
employees is out sick or something like that.  I have that portion of the page 
working.  In fact, if the end-user is for whatever reason dissatisfied with 
their initial recordset, they can press the "Enter" button again and have a 
different random set of donors pulled.

The addendum is we wish to have a button that, when pressed, takes the CURRENT 
randomized (by newID() ) recordset and COMMITS it (all fields from the 'rs' 
query with the addition of the company name and time/datestamp) to a different 
table, called DONOR_LOG. Here, each record from the randomized recordset will 
be given its own record as well, and will be able to be pulled up from a second 
page on the site (but I don't imagine the coding of that to be very difficult).

I'm certain my problem is in the last <cfif> block, but if someone could point 
out those mistakes, I am still learning CF after all, and perhaps explain to me 
a more elegant approach to effecting this functionality, I would be very 
grateful.  I assume it has something to do with me either reusing 'i' as an 
index or the block of <cfsets> nested within the last <cfif> block.  Here is 
the code, thanks in advance, all!

<cfparam name="form.company" default="">
<cfparam name="form.rows" default="0">
<cfparam name="form.alts" default="0">
<cfparam name="numberDonors" default="0">
<!--- Determines and sets the co. we are working w/ based on url.id --->
<cfquery name="rsClient" datasource="test">
  SELECT clientid,clientname,derFname,derLname,derPhone,derExt,derFax
  FROM CLIENTS WHERE clientid='#url.id#'
</cfquery>

<cfset form.company = rsClient.clientname>    
<!--- Determines no. of possible donors from the pool of employees --->
<cfquery name="rsDonor" datasource="test">
  SELECT kcid FROM donor WHERE company='#form.company#'
</cfquery>

<cfset numberRecords = rsDonor.recordcount>
  
<html>
<head>
<title>Random Donor Selection</title>
<!--- Hides buttons when printing random donor list--->
<style type="text/css" media="print">
#prtBtn{display:none;}
#entBtn{display:none;}
#homBtn{display:none;}
#comBtn{display:none;}
</style>
</head>
<cfoutput>
<body style="margin: 0px; padding: 0px; font-family: 'Trebuchet MS',verdana;" 
bgcolor="d2d8c7">
<table width="100%" cellpadding="0" cellspacing="0" border="0" bgcolor="777d6a">
<tr>
  <td colspan="2"><h4>Company:#rsClient.clientname#</h4></td>
  <td align="right"><h4>D.E.R. for #rsClient.clientname#:#rsClient.derFname# 
#rsClient.derLname#</h4></td> 
<tr>
  <td colspan="2"><h4>Total Employees:#numberRecords#</h4></td>
  <td align="right"><h4>D.E.R. Phone No.:#rsClient.derPhone#
    <cfif rsClient.derExt GT 0>
      &nbsp;Ext. #rsClient.derExt#
    </cfif></h4></td>
</tr>
<tr>
  <td colspan="2"><h4>Date:#DateFormat(now(), 'mmmm d, yyyy')#</h4></td>
  <td align="right"><h4>D.E.R. Fax No.:#rsClient.derFax#</h4></td>
</td></table>    

<table width="100%" cellpadding="0" cellspacing="0" border="0" bgcolor="b8860b">
  <tr>
    <!--- Select no. of random donors desired... --->
    <td bgcolor="b8860b">Random Donors:</td>
    <form id="form" method="post">
    <td bgcolor="b8860b"><input id="rows" name="rows" type="text" maxlength="2" 
size="3" value="#form.rows#" /></td>
    <!--- ...and alternates --->
    <td>Alternates:</td>
    <td bgcolor="b8860b"><input id="alts" name="alts" type="text" maxlength="2" 
size="3" value="#form.alts#" /></td>
    <td bgcolor="b8860b"><input id="entBtn" type="submit" value="Enter"></td>
    <td bgcolor="b8860b"><input type="button" id="prtBtn" 
onClick="window.print()" value="Print Page" /></td>
    </form>
  </tr>
</table>

<cfset rows="#val(form.rows)#"+"#val(form.alts)#">
<!--- Pull the randoms from the DB --->
<cfif form.rows GT 0>
<cfquery name="rs" datasource="test">
  SELECT TOP #rows# * FROM DONOR WHERE company='#form.company#' ORDER BY newid()
</cfquery>
</cfif>

<table width="100%" cellpadding="0" cellspacing="0" border="0">
    <tr><td colspan="9"><center><input type="button" id="homBtn" 
onClick="parent.location='index.cfm'" value="Homepage"></center></td></tr>
    
<cfif form.rows GT 0>
    <tr>
      <td colspan="1"><strong>EID</strong></td>
      <td colspan="2"><strong>FIRST NAME</strong></td>
      <td colspan="2"><strong>LAST NAME</strong></td>
      <td colspan="2"><strong>SUPERVISOR</strong></td>
      <td colspan="1"><strong>PHONE NO.</strong></td>
      <td colspan="1"><strong>SSN</strong></td>
    </tr><br>
    <tr><td 
colspan="9"><center><em><strong>---PRIMARIES---</strong></em></center></td></tr>
</cfif>
<!--- Display the records ---> 
<cfloop index="i" from="1" to="#val(form.rows)+val(form.alts)#">
  <tr>
    <td colspan="1">#rs.eid[i]#</td>
    <td colspan="2">#rs.first[i]#</td>
    <td colspan="2">#rs.last[i]#</td>
    <td colspan="2">#rs.supe[i]#</td>
    <td colspan="1">#rs.phone[i]#</td>
    <td colspan="1">#rs.ssn[i]#</td>
  </tr>
  <!--- Visually separate alts from the primaries --->
  <cfif i EQ form.rows AND form.alts GT 0>
    
    <tr><td 
colspan="9"><center><em><strong>---ALTERNATES---</strong></em></center></td></tr>
    
  </cfif>
</cfloop>
<!--- If satisfied with results, commit the log of randomly-chosen donors to DB 
--->
<cfif form.rows GT 0>
  <tr>
    <td colspan="9">
      <form name="commit" method="post">
      <center>
        <input type="submit" id="comBtn" value="Commit to Donor Log" />
        <cfloop index="i" from="1" to="#val(form.rows)+val(form.alts)#">
          <cfset commit.eid[i] = rs.eid[i]>
          <cfset commit.first[i] = rs.first[i]>
          <cfset commit.last[i] = rs.last[i]>
          <cfset commit.supe[i] = rs.supe[i]>
          <cfset commit.phone[i] = rs.phone[i]>
          <cfset commit.ssn[i] = rs.ssn[i]>
          <cfset commit.company[i] = rs.company[i]>
        
          <cfquery name="rsCommit" datasource="test">
            INSERT INTO DONOR_LOG(
              eid,
              first,
              last,
              supe,
              phone,
              ssn,
              company,
              dos)
            VALUES(
              '#commit.eid[i]#',
              '#commit.first[i]#',
              '#commit.last[i]#',
              '#commit.supe[i]#',
              '#commit.phone[i]#',
              '#commit.ssn[i]#',
              '#commit.company[i]#',
              '#dateFormat(now())#')
            </cfquery>
          </cfloop>    
      </center>
      </form>
    </td>
  </tr>
</cfif>  
</table>
</cfoutput>
</body></html> 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Order the Adobe Coldfusion Anthology now!
http://www.amazon.com/Adobe-Coldfusion-Anthology/dp/1430272155/?tag=houseoffusion
Archive: 
http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:354040
Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm
Unsubscribe: http://www.houseoffusion.com/groups/cf-talk/unsubscribe.cfm

Reply via email to