Go Back   CodingForums.com > :: Server side development > ASP

Before you post, read our: Rules & Posting Guidelines

Reply
 
Thread Tools Rate Thread
Enjoy an ad free experience by logging in. Not a member yet? Register.
Old 04-17-2006, 07:49 PM   PM User | #1
Clarkey Boy
New to the CF scene

 
Join Date: Apr 2006
Posts: 6
Thanks: 0
Thanked 0 Times in 0 Posts
Clarkey Boy is an unknown quantity at this point
Dynamically naming textboxes

Hi,

My situation is this:

I am creating a page for products. I have a product ID for each product in the database. I have a loop in which I have rows for a table - it creats one row per product and places the product information into its own row. I also have a text box in one cell for each product. I have named these text boxes as "<%=x%>" where x = rsproducts("productID") - so in effect each textbox is named as the ID of the product whose row it is in. I have stock and outgoing stock (products which have been sold) in the database. Now I would like to make it so that if someone puts a number in a textbox then it takes that number of products away from the stock value of the product with the same product ID as the textbox name.

Can anyone tell me how I can do this please? I have also got a variable y which is rsproducts("productID") and I am trying to work out how to get the value of each text box out as separate integers so that it gets taken away from the stock value of the correct product. Thats the bit I am stuck on - getting the name of the textbox correct as it is a variable.

The following code is what I am currently using in the page:

Code:
<table width="100%">
<tr>
<td>
<strong>
Products
</strong>
</td>
<td>
<strong>
Product ID
</strong>
</td>
<td>
<strong>
In Stock
</strong>
</td>
<td>
<strong>
Outgoing
</strong>
</td>
</tr>
<%
Do While not rsproducts.EOF
%>
<tr>
<td>
<%
Response.write(rsproducts("product"))
%>
</td>
<td>
<%
Response.write(rsproducts("productid"))
%>
</td>
<td>
<%
Response.write(rsproducts("stock"))
%>
</td>
<td>
<%
Response.write(rsproducts("outgoing"))
%>
</td>
<%
x = rsproducts("productid")
%>
<form action="adminorder.asp" method="get">
<td>
<input type="text" name="<%=x%>">
</td>
<td>
<%
Response.write("x = " & x)
%>
</td>
</tr>
<%
y = rsproducts("productID")
y = "0001"
rsproducts("stock") = rsproducts("stock") - request.form(y)
rsproducts.update
rsproducts.movenext
loop
%>
<tr>
<td>
</td>
<td>
</td>
<td>
</td>
<td>
</td>
<td>
<input type="submit" name="submit">
</td>
</form>
</table>
<form action="adminorder.asp" method="post">
<table width="50%">
<tr>
<td>
Product:
</td>
<td>
<input type="text" name="product">
</td>
</tr>
<tr>
<td>
Product ID:
</td>
<td>
<input type="text" name="productid">
</td>
</tr>
<tr>
<td>
Stock:
</td>
<td>
<input type="text" name="stock">
</td>
</tr>
<tr>
<td>
</td>
<td>
<input type="Submit" name="submit">
</td>
</tr>
</table>
<%
product = request.form("product")
productid = request.form("productid")
stock = request.form("stock")
If product = "" then
Else
	If productid = "" then
	Else
		If stock = "" then
		Else
			rsproducts.addnew
			rsproducts("product") = product
			rsproducts("productid") = productid
			rsproducts("stock") = stock
			rsproducts.update
			response.redirect("adminorder.asp")
		End If
	End If
End if
%>
Clarkey Boy is offline   Reply With Quote
Old 04-18-2006, 03:49 PM   PM User | #2
degsy
Senior Coder

 
Join Date: Nov 2002
Location: North-East, UK
Posts: 1,265
Thanks: 0
Thanked 0 Times in 0 Posts
degsy is on a distinguished road
You would have to have the id/name of the textbox as the id of the product, or atleast containing it.


When you submit the form the textbox

e.g. This code will extract the ID and the quantity entered
Code:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Untitled Document</title>
</head>

<body>
<%
If Len(Request.Form) > 0 Then
	For Each Item In Request.Form
		If InStr(Item, "id_") AND Len(Request.Form(Item)) > 0 Then
			id = Split(Item, "id_")
			Response.Write id(1) & ": " & Request.Form(Item) & "<br>"
		End If
	Next
End If
%>
<form name="form1" method="post" action="">
  <table width="100%"  border="1" cellspacing="0" cellpadding="2">
  <%For x=0 To 3%>
    <tr>
      <td><%=x%></td>
      <td>5</td>
      <td>product_<%=x%></td>
      <td><input type="text" name="id_<%=x%>"></td>
    </tr>
  <%Next%>
  </table>
  <input type="submit" name="Submit" value="Submit">
</form>
</body>
</html>
degsy is offline   Reply With Quote
Old 04-19-2006, 01:03 AM   PM User | #3
Clarkey Boy
New to the CF scene

 
Join Date: Apr 2006
Posts: 6
Thanks: 0
Thanked 0 Times in 0 Posts
Clarkey Boy is an unknown quantity at this point
Quote:
Originally Posted by degsy
Code:
If Len(Request.Form) > 0 Then
	For Each Item In Request.Form
		If InStr(Item, "id_") AND Len(Request.Form(Item)) > 0 Then
			id = Split(Item, "id_")
			Response.Write id(1) & ": " & Request.Form(Item) & "<br>"
		End If
	Next
End If
Well I got SOMEWHERE with that code - but where I just do not know... Dreamweaver, for some reason, won't accept the ">" symbols - so I changed it to "if... ...<= 0 Then
Else..."

When I used > it just blanked out the code (would not read it as ASP). Is there any solution to this other than having to use an if statement and changing the > to <= and using "else"? Also, I don't know exactly how to apply this to my code.

RC
Clarkey Boy is offline   Reply With Quote
Old 04-19-2006, 02:58 PM   PM User | #4
degsy
Senior Coder

 
Join Date: Nov 2002
Location: North-East, UK
Posts: 1,265
Thanks: 0
Thanked 0 Times in 0 Posts
degsy is on a distinguished road
Dreamweaver has no problem with the code. it was written in dreamweaver.

You probably have an error somwehere else in your code.
degsy is offline   Reply With Quote
Old 04-19-2006, 04:43 PM   PM User | #5
Clarkey Boy
New to the CF scene

 
Join Date: Apr 2006
Posts: 6
Thanks: 0
Thanked 0 Times in 0 Posts
Clarkey Boy is an unknown quantity at this point
Well I am gonna leave that page for a while and try to recreate the page using PHP - I am pretty sure I know how to do this in PHP, but will try it out over the next day or two and put a message here saying whether I have successfully done it or not.

RC
Clarkey Boy is offline   Reply With Quote
Reply

Bookmarks

Jump To Top of Thread


Thread Tools
Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 06:31 PM.


Advertisement
Log in to turn off these ads.