Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Shaun E on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

looping thru an array and inserting the data with JS 1

Status
Not open for further replies.

bikebanditcom

Programmer
Jun 11, 2003
117
US
the following post was made to a question of mine, however i can't get the code to work and have yet to hear back from that post, can anyone help me with the final part of this bit of code, what i need is to know how to write the sql statement and declare which fields to insert into in the database.

there are three declared below in the array, partNumber, qty, and dealer, all of those go into tblPartInfo, and all go into fields of the same name. anyone have any clue as to how to do this? here is his post

"The way you're form data and table are mean that you'll need the 2-dimensional array....

dim fieldArr()
redim fieldArr(9,0) 'assuming 10 total fields for each record'

'if you have fields that do not fit the name_## format, you may need to alter this to handle them'

for each item in request.form
underscorePos = inStr(item, "_")
recordNum = mid(request.form(item), underscorePos + 1)
if recordNum > uBound(fieldArr,2) then
redim preserve(fieldArr(9,cInt(recNum)))
end if
select case left(item,underscorePos - 1)
case "partNumber"
arrPos = 0
case "qty"
arrPos = 1
case "dealer"
arrPos = 2
'complete for all items

end select
fieldArr(arrPos, cInt(recNum)) = request.form(item)
next

'now just write you sql for each record'
for x = 1 to uBound(fieldArr,2)
sql = "INSERT myTable VALUES("&_
"'" & fieldArr(0,x) & "'," &_
"'" & fieldArr(1,x) & "'," &_
"'" & fieldArr(2,x) & "'," &_
'continue for all records and add a closing ")"
cn.execute (sql)
next "
 
Put this at the top of your page and post the result here so I (we) can see what we're dealing with:

<%
for each objItem in request.form()
response.write(objItem & &quot; = &quot; & request.form(objItem) & &quot;<br>&quot;)
Next
response.end()
%>
 
here are the results:

empID = DH
orderID =
qty =
dealer = SelectOne
UnreturnableToSupp = No
bAmount =
reason = SelectOne
crdtToBeIssd = Yes
RANempID = Select One
bDate =
custName =
exNumber =
california = No
complete = Yes
rcvd15Day = Yes
hdnRecordCount = 0
addRtrnShipping =
email =
Rfault = Select One
Rshipping = Select One
partNumber =
addOrigShipping =
mercValue =
shipped = Yes
custRestockingFee = Yes
ReturnsSubmit = Submit


the following is the script i'm using to generate the dynamic form elements, giving you an idea of the results i need to loop thru:
<script language=&quot;JavaScript&quot;>
<!--
var recordCount = 0;
//start AddRow function block
function AddRow(){


var elemTbody, elemRow;
var elemCols = new Array(10);
var elempartNumber, elemQty, elemDealer, elemPrice, elemReason, elemExPartNumber, elemShipped, elemRcvd15Day, elemCrdtToBeIssd, elemCustRestockingFee, elemUnreturnableToSupp;

//create a reference to the tbody element in our table
elemTbody = document.getElementById(&quot;ResultTable&quot;).getElementsByTagName(&quot;tbody&quot;)[0];

//create the tr and td objects
elemRow = document.createElement(&quot;tr&quot;);
elemCols[0] = document.createElement(&quot;td&quot;);
elemCols[1] = document.createElement(&quot;td&quot;);
elemCols[2] = document.createElement(&quot;td&quot;);
elemCols[3] = document.createElement(&quot;td&quot;);
elemCols[4] = document.createElement(&quot;td&quot;);
elemCols[5] = document.createElement(&quot;td&quot;);
elemCols[6] = document.createElement(&quot;td&quot;);
elemCols[7] = document.createElement(&quot;td&quot;);
elemCols[8] = document.createElement(&quot;td&quot;);
elemCols[9] = document.createElement(&quot;td&quot;);
elemCols[10] = document.createElement(&quot;td&quot;);


//create our text inputs and our select dropdown
elemPartNumber = document.createElement(&quot;input&quot;);
elemQty = document.createElement(&quot;input&quot;);
elemDealer = document.createElement(&quot;select&quot;);
elemMercValue = document.createElement(&quot;input&quot;);
elemReason = document.createElement(&quot;select&quot;);
elemExNumber = document.createElement(&quot;input&quot;);
elemShipped = document.createElement(&quot;select&quot;);
elemRcvd15Day = document.createElement(&quot;select&quot;);
elemCrdtToBeIssd = document.createElement(&quot;select&quot;);
elemCustRestockingFee = document.createElement(&quot;select&quot;);
elemUnreturnableToSupp = document.createElement(&quot;select&quot;);

var elemOption;
var elemOption2;

//do the text boxes first
elemPartNumber.name = &quot;partNumber_&quot; + recordCount;
elemPartNumber.type = &quot;text&quot;;

elemQty.name = &quot;qty_&quot; + recordCount;
elemQty.type = &quot;text&quot;;
elemQty.size = &quot;4&quot;

elemMercValue.name = &quot;mercValue_&quot; + recordCount;
elemMercValue.type = &quot;text&quot;;
elemMercValue.size = &quot;8&quot;

elemExNumber.name = &quot;exPartNumber_&quot; + recordCount;
elemExNumber.type = &quot;text&quot;;

//do the select box next
elemDealer.name = &quot;dealer_&quot; + recordCount;
elemDealer.size = &quot;1&quot;;

elemReason.name = &quot;reason_&quot; + recordCount;
elemReason.size = &quot;1&quot;;

elemShipped.name = &quot;shipped_&quot; + recordCount;
elemShipped.size = &quot;1&quot;;

elemRcvd15Day.name = &quot;Rcvd15Day_&quot; + recordCount;
elemRcvd15Day.size = &quot;1&quot;;

elemCrdtToBeIssd.name = &quot;CrdtToBeIssd_&quot; + recordCount;
elemCrdtToBeIssd.size = &quot;1&quot;;

elemCustRestockingFee.name = &quot;CustRestockingFee_&quot; + recordCount;
elemCustRestockingFee.size = &quot;1&quot;;

elemUnreturnableToSupp.name = &quot;UnreturnableToSupp_&quot; + recordCount;
elemUnreturnableToSupp.size = &quot;1&quot;;

//add the options
var optCtr;
// creating a new option: text, value


//add the option
elemOption = new Option(&quot;Select One&quot;,&quot;Select One&quot;);
elemDealer.add(elemOption);
elemOption = new Option(&quot;HOUSE&quot;,&quot;HOUSE&quot;);
elemDealer.add(elemOption);
elemOption = new Option(&quot;PARTS&quot;,&quot;PARTS&quot;);
elemDealer.add(elemOption);
elemOption = new Option(&quot;TR&quot;,&quot;TR&quot;);
elemDealer.add(elemOption);
elemOption = new Option(&quot;VLE&quot;,&quot;VLE&quot;);
elemDealer.add(elemOption);
elemOption = new Option(&quot;SOUTH&quot;,&quot;SOUTH&quot;);
elemDealer.add(elemOption);


elemOption2 = new Option(&quot;Select One&quot;,&quot;Select One&quot;);
elemReason.add(elemOption2);
elemOption2 = new Option(&quot;Customer Return&quot;,&quot;Customer Return&quot;);
elemReason.add(elemOption2);
elemOption2 = new Option(&quot;Incorrect or Damaged&quot;,&quot;Incorrect or Damaged&quot;);
elemReason.add(elemOption2);
elemOption2 = new Option(&quot;Exchange&quot;,&quot;Exchange&quot;);
elemReason.add(elemOption2);
elemOption2 = new Option(&quot;BB - No Fee&quot;,&quot;BB - No Fee&quot;);
elemReason.add(elemOption2);
elemOption2 = new Option(&quot;BB - Pay Fee&quot;,&quot;BB - Pay Fee&quot;);
elemReason.add(elemOption2);

elemOption3 = new Option(&quot;Yes&quot;,&quot;Yes&quot;);
elemShipped.add(elemOption3);
elemOption3 = new Option(&quot;No&quot;,&quot;No&quot;);
elemShipped.add(elemOption3);

elemOption4 = new Option(&quot;Yes&quot;,&quot;Yes&quot;);
elemRcvd15Day.add(elemOption4);
elemOption4 = new Option(&quot;No&quot;,&quot;No&quot;);
elemRcvd15Day.add(elemOption4);


elemOption5 = new Option(&quot;Yes&quot;,&quot;Yes&quot;);
elemCrdtToBeIssd.add(elemOption5);
elemOption5 = new Option(&quot;No&quot;,&quot;No&quot;);
elemCrdtToBeIssd.add(elemOption5);


elemOption6 = new Option(&quot;Yes&quot;,&quot;Yes&quot;);
elemCustRestockingFee.add(elemOption6);
elemOption6 = new Option(&quot;No&quot;,&quot;No&quot;);
elemCustRestockingFee.add(elemOption6);


elemOption7 = new Option(&quot;No&quot;,&quot;No&quot;);
elemUnreturnableToSupp.add(elemOption7);
elemOption7 = new Option(&quot;Yes&quot;,&quot;Yes&quot;);
elemUnreturnableToSupp.add(elemOption7);


//add the inputs to the appropriate cells
elemCols[0].appendChild(elemPartNumber);
elemCols[1].appendChild(elemQty);
elemCols[2].appendChild(elemDealer);
elemCols[3].appendChild(elemMercValue);
elemCols[4].appendChild(elemReason);
elemCols[5].appendChild(elemShipped);
elemCols[6].appendChild(elemRcvd15Day);
elemCols[7].appendChild(elemCrdtToBeIssd);
elemCols[8].appendChild(elemCustRestockingFee);
elemCols[9].appendChild(elemUnreturnableToSupp);
elemCols[10].appendChild(elemExNumber);


//add the cols to the row
elemRow.appendChild(elemCols[0]);
elemRow.appendChild(elemCols[1]);
elemRow.appendChild(elemCols[2]);
elemRow.appendChild(elemCols[3]);
elemRow.appendChild(elemCols[4]);
elemRow.appendChild(elemCols[5]);
elemRow.appendChild(elemCols[6]);
elemRow.appendChild(elemCols[7]);
elemRow.appendChild(elemCols[8]);
elemRow.appendChild(elemCols[9]);
elemRow.appendChild(elemCols[10]);

//add the row to the tbody tag
elemTbody.appendChild(elemRow);

//increment recordCount and update hdnRecordCount input
recordCount++;
document.getElementById(&quot;recCount&quot;).value = recordCount;

}
// end of AddRow function block

//-->
</script>
 
here are the results:

empID = DH
orderID =
qty =
dealer = SelectOne
UnreturnableToSupp = No
bAmount =
reason = SelectOne
crdtToBeIssd = Yes
RANempID = Select One
bDate =
custName =
exNumber =
california = No
complete = Yes
rcvd15Day = Yes
hdnRecordCount = 0
addRtrnShipping =
email =
Rfault = Select One
Rshipping = Select One
partNumber =
addOrigShipping =
mercValue =
shipped = Yes
custRestockingFee = Yes
ReturnsSubmit = Submit


the following is the script i'm using to generate the dynamic form elements, giving you an idea of the results i need to loop thru:
<script language=&quot;JavaScript&quot;>
<!--
var recordCount = 0;
//start AddRow function block
function AddRow(){


var elemTbody, elemRow;
var elemCols = new Array(10);
var elempartNumber, elemQty, elemDealer, elemPrice, elemReason, elemExPartNumber, elemShipped, elemRcvd15Day, elemCrdtToBeIssd, elemCustRestockingFee, elemUnreturnableToSupp;

//create a reference to the tbody element in our table
elemTbody = document.getElementById(&quot;ResultTable&quot;).getElementsByTagName(&quot;tbody&quot;)[0];

//create the tr and td objects
elemRow = document.createElement(&quot;tr&quot;);
elemCols[0] = document.createElement(&quot;td&quot;);
elemCols[1] = document.createElement(&quot;td&quot;);
elemCols[2] = document.createElement(&quot;td&quot;);
elemCols[3] = document.createElement(&quot;td&quot;);
elemCols[4] = document.createElement(&quot;td&quot;);
elemCols[5] = document.createElement(&quot;td&quot;);
elemCols[6] = document.createElement(&quot;td&quot;);
elemCols[7] = document.createElement(&quot;td&quot;);
elemCols[8] = document.createElement(&quot;td&quot;);
elemCols[9] = document.createElement(&quot;td&quot;);
elemCols[10] = document.createElement(&quot;td&quot;);


//create our text inputs and our select dropdown
elemPartNumber = document.createElement(&quot;input&quot;);
elemQty = document.createElement(&quot;input&quot;);
elemDealer = document.createElement(&quot;select&quot;);
elemMercValue = document.createElement(&quot;input&quot;);
elemReason = document.createElement(&quot;select&quot;);
elemExNumber = document.createElement(&quot;input&quot;);
elemShipped = document.createElement(&quot;select&quot;);
elemRcvd15Day = document.createElement(&quot;select&quot;);
elemCrdtToBeIssd = document.createElement(&quot;select&quot;);
elemCustRestockingFee = document.createElement(&quot;select&quot;);
elemUnreturnableToSupp = document.createElement(&quot;select&quot;);

var elemOption;
var elemOption2;

//do the text boxes first
elemPartNumber.name = &quot;partNumber_&quot; + recordCount;
elemPartNumber.type = &quot;text&quot;;

elemQty.name = &quot;qty_&quot; + recordCount;
elemQty.type = &quot;text&quot;;
elemQty.size = &quot;4&quot;

elemMercValue.name = &quot;mercValue_&quot; + recordCount;
elemMercValue.type = &quot;text&quot;;
elemMercValue.size = &quot;8&quot;

elemExNumber.name = &quot;exPartNumber_&quot; + recordCount;
elemExNumber.type = &quot;text&quot;;

//do the select box next
elemDealer.name = &quot;dealer_&quot; + recordCount;
elemDealer.size = &quot;1&quot;;

elemReason.name = &quot;reason_&quot; + recordCount;
elemReason.size = &quot;1&quot;;

elemShipped.name = &quot;shipped_&quot; + recordCount;
elemShipped.size = &quot;1&quot;;

elemRcvd15Day.name = &quot;Rcvd15Day_&quot; + recordCount;
elemRcvd15Day.size = &quot;1&quot;;

elemCrdtToBeIssd.name = &quot;CrdtToBeIssd_&quot; + recordCount;
elemCrdtToBeIssd.size = &quot;1&quot;;

elemCustRestockingFee.name = &quot;CustRestockingFee_&quot; + recordCount;
elemCustRestockingFee.size = &quot;1&quot;;

elemUnreturnableToSupp.name = &quot;UnreturnableToSupp_&quot; + recordCount;
elemUnreturnableToSupp.size = &quot;1&quot;;

//add the options
var optCtr;
// creating a new option: text, value


//add the option
elemOption = new Option(&quot;Select One&quot;,&quot;Select One&quot;);
elemDealer.add(elemOption);
elemOption = new Option(&quot;HOUSE&quot;,&quot;HOUSE&quot;);
elemDealer.add(elemOption);
elemOption = new Option(&quot;PARTS&quot;,&quot;PARTS&quot;);
elemDealer.add(elemOption);
elemOption = new Option(&quot;TR&quot;,&quot;TR&quot;);
elemDealer.add(elemOption);
elemOption = new Option(&quot;VLE&quot;,&quot;VLE&quot;);
elemDealer.add(elemOption);
elemOption = new Option(&quot;SOUTH&quot;,&quot;SOUTH&quot;);
elemDealer.add(elemOption);


elemOption2 = new Option(&quot;Select One&quot;,&quot;Select One&quot;);
elemReason.add(elemOption2);
elemOption2 = new Option(&quot;Customer Return&quot;,&quot;Customer Return&quot;);
elemReason.add(elemOption2);
elemOption2 = new Option(&quot;Incorrect or Damaged&quot;,&quot;Incorrect or Damaged&quot;);
elemReason.add(elemOption2);
elemOption2 = new Option(&quot;Exchange&quot;,&quot;Exchange&quot;);
elemReason.add(elemOption2);
elemOption2 = new Option(&quot;BB - No Fee&quot;,&quot;BB - No Fee&quot;);
elemReason.add(elemOption2);
elemOption2 = new Option(&quot;BB - Pay Fee&quot;,&quot;BB - Pay Fee&quot;);
elemReason.add(elemOption2);

elemOption3 = new Option(&quot;Yes&quot;,&quot;Yes&quot;);
elemShipped.add(elemOption3);
elemOption3 = new Option(&quot;No&quot;,&quot;No&quot;);
elemShipped.add(elemOption3);

elemOption4 = new Option(&quot;Yes&quot;,&quot;Yes&quot;);
elemRcvd15Day.add(elemOption4);
elemOption4 = new Option(&quot;No&quot;,&quot;No&quot;);
elemRcvd15Day.add(elemOption4);


elemOption5 = new Option(&quot;Yes&quot;,&quot;Yes&quot;);
elemCrdtToBeIssd.add(elemOption5);
elemOption5 = new Option(&quot;No&quot;,&quot;No&quot;);
elemCrdtToBeIssd.add(elemOption5);


elemOption6 = new Option(&quot;Yes&quot;,&quot;Yes&quot;);
elemCustRestockingFee.add(elemOption6);
elemOption6 = new Option(&quot;No&quot;,&quot;No&quot;);
elemCustRestockingFee.add(elemOption6);


elemOption7 = new Option(&quot;No&quot;,&quot;No&quot;);
elemUnreturnableToSupp.add(elemOption7);
elemOption7 = new Option(&quot;Yes&quot;,&quot;Yes&quot;);
elemUnreturnableToSupp.add(elemOption7);


//add the inputs to the appropriate cells
elemCols[0].appendChild(elemPartNumber);
elemCols[1].appendChild(elemQty);
elemCols[2].appendChild(elemDealer);
elemCols[3].appendChild(elemMercValue);
elemCols[4].appendChild(elemReason);
elemCols[5].appendChild(elemShipped);
elemCols[6].appendChild(elemRcvd15Day);
elemCols[7].appendChild(elemCrdtToBeIssd);
elemCols[8].appendChild(elemCustRestockingFee);
elemCols[9].appendChild(elemUnreturnableToSupp);
elemCols[10].appendChild(elemExNumber);


//add the cols to the row
elemRow.appendChild(elemCols[0]);
elemRow.appendChild(elemCols[1]);
elemRow.appendChild(elemCols[2]);
elemRow.appendChild(elemCols[3]);
elemRow.appendChild(elemCols[4]);
elemRow.appendChild(elemCols[5]);
elemRow.appendChild(elemCols[6]);
elemRow.appendChild(elemCols[7]);
elemRow.appendChild(elemCols[8]);
elemRow.appendChild(elemCols[9]);
elemRow.appendChild(elemCols[10]);

//add the row to the tbody tag
elemTbody.appendChild(elemRow);

//increment recordCount and update hdnRecordCount input
recordCount++;
document.getElementById(&quot;recCount&quot;).value = recordCount;

}
// end of AddRow function block

//-->
</script>

the following bit of code is the block that i'm trying to complete:

<%
'this block loops thru the part info section and inserts a record for each row
set adminDB = Server.CreateObject(&quot;ADODB.Connection&quot;)
adminDB.open &quot;admin&quot;

dim fieldArr()
redim fieldArr(10,0) 'assuming 11 total fields for each record'

for each item in request.form
underscorePos = inStr(item, &quot;_&quot;)
recordNum = mid(request.form(item), underscorePos + 1)
if recordNum > uBound(fieldArr,2) then
redim preserve fieldArr(9,cInt(recNum))
end if
select case left(item,underscorePos - 1)
case &quot;partNumber&quot;
arrPos = 0
case &quot;qty&quot;
arrPos = 1
case &quot;dealer&quot;
arrPos = 2
case &quot;mercValue&quot;
arrPos = 3
case &quot;reason&quot;
arrPos = 4
case &quot;shipped&quot;
arrPos = 5
case &quot;rcvd15Day&quot;
arrPos = 6
case &quot;crdtToBeIssd&quot;
arrPos = 7
case &quot;custRestockingFee&quot;
arrPos = 8
case &quot;UnreturnableToSupp&quot;
arrPos = 9
case &quot;exNumber&quot;
arrPos = 10
end select
fieldArr(arrPos, cInt(recNum)) = request.form(item)
next
'now just write you sql for each record'
for x = 1 to uBound(fieldArr,2)
sql = &quot;insert tblPartInfo VALUES(&quot;&_
&quot;'&quot; & fieldArr(0,x) & &quot;',&quot; &_
&quot;'&quot; & fieldArr(1,x) & &quot;',&quot; &_
&quot;'&quot; & fieldArr(2,x) & &quot;',&quot; &_
&quot;'&quot; & fieldArr(3,x) & &quot;',&quot; &_
&quot;'&quot; & fieldArr(4,x) & &quot;',&quot; &_
&quot;'&quot; & fieldArr(5,x) & &quot;',&quot; &_
&quot;'&quot; & fieldArr(6,x) & &quot;',&quot; &_
&quot;'&quot; & fieldArr(7,x) & &quot;',&quot; &_
&quot;'&quot; & fieldArr(8,x) & &quot;',&quot; &_
&quot;'&quot; & fieldArr(9,x) & &quot;',&quot; &_
&quot;'&quot; & fieldArr(10,x) & &quot;',&quot; &_
adminDB.execute (sql)
next

adminDB.close

set adminDB = Nothing
%>
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top