Foros del Web » Programando para Internet » ASP Clásico »

Insertar registros desde un Combo

Estas en el tema de Insertar registros desde un Combo en el foro de ASP Clásico en Foros del Web. Estoy realizando un formulario que contiene un combo cuyo contenido es la lista de productos de una tabla. Mi problema reside en que quiero que ...
  #1 (permalink)  
Antiguo 27/05/2003, 13:03
 
Fecha de Ingreso: mayo-2003
Mensajes: 4
Antigüedad: 21 años
Puntos: 0
Insertar registros desde un Combo

Estoy realizando un formulario que contiene un combo cuyo contenido es la lista de productos de una tabla. Mi problema reside en que quiero que el usuario elija los productos que desee y estos se agregen a otra tabla de la base de datos con el ID del producto que vaya eligiendo y el ID del cliente que logicamente sera el mismo para todos los productos que elija.

Alguien me podria hechar una manita (aunque sea al cuello).

Gracias

Gabriel
  #2 (permalink)  
Antiguo 27/05/2003, 13:50
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
Qué tal Gabriel.

Es más o menos sencillo. Aunque depende un poco de si el select es de múltiples selecciones o de sólo una selección (aunque pensándolo bien, debería ser lo mismo )

Al parecer estás haciendo algo así como un carrito de compras... por lo que el tema del identificador de usuario ya lo tenés resuelto ya que lo estarías guardando en una variable session (supongo)

Ahora, pasemos al tema de guardar los productos seleccionados.
Al hacer el submit del formulario, las opciones seleccionadas van separadas por comas dentro del mismo parámetro.
Luego hacés un split y por cada elemento de este array hacés un insert a la BD. Sería algo así suponiendo un formulario de altas como este...


<form method="post">
<select name="productos" multiple>
<option value="1">Producto 1</option>
<option value="2">Producto 2</option>
<option value="3">Producto 3</option>
<input type="submit">
</select>
</form>



... y un script como este...

<%
Productos = Split(request.form("productos"), ",")

Set oConn = Server.CreateObject("ADODB.Connection")
oConn.Open ...

For i = 0 To Ubound(Productos)
SQL = "INSERT INTO tabla (id_usuario, producto) VALUES (" & TuFormaDeIdentificarUsuario & ", " & Productos(i) & ")"
oConn.Execute(SQL)
Next

oConn.Close
%>




saludos
  #3 (permalink)  
Antiguo 28/05/2003, 07:08
 
Fecha de Ingreso: mayo-2003
Mensajes: 4
Antigüedad: 21 años
Puntos: 0
De acuerdo Muchas gracias

Lo probaré cuando llegue a casa, ahora estoy en el trabajo

¿¿¿ Supongo que sera lo mismo que el combo sea rellenado desde una tabla en vez de escribir las opciones en HTML. ???

Muchas gracias

Gabriel
  #4 (permalink)  
Antiguo 28/05/2003, 08:00
Avatar de maestro  
Fecha de Ingreso: febrero-2002
Ubicación: España
Mensajes: 2.364
Antigüedad: 22 años, 4 meses
Puntos: 1
Puedes usar esto para recorrer tu tabla y cargar dinamicamente todas las categorias en un cuadro de lista, la opcion group by hace que no se repitan.

<%
set oConn=Server.CreateObject("ADODB.Connection")
set rs=Server.CreateObject("ADODB.Recordset")
oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="&Server.MapPath("tutabla.mdb")&";"
sql="SELECT genero FROM tabla1 where categoria<>'' group by categoria"
rs.Open SQL, oConn,1,2
%>

<select name="categorias">
<% while Not rs.EOF %>
<option value="<%=rs("categoria")%>"><%=rs("categoria")%></option>

<%
rs.MoveNext
Wend
%>
__________________
Jose Maria Fernandez
[email protected]
Http://www.expansionweb.net
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 22:37.