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

pROBLEMAS CON SELECT

Estas en el tema de pROBLEMAS CON SELECT en el foro de ASP Clásico en Foros del Web. estoy haciendo el backoffice de una web y me gustaria mostrar los resultados del campo categoria en un SeLECt que mostrara el resultado correcto y ...
  #1 (permalink)  
Antiguo 23/12/2010, 15:48
 
Fecha de Ingreso: julio-2003
Ubicación: Barcelona
Mensajes: 142
Antigüedad: 20 años, 9 meses
Puntos: 1
pROBLEMAS CON SELECT

estoy haciendo el backoffice de una web y me gustaria mostrar los resultados del campo categoria en un SeLECt que mostrara el resultado correcto y ademas en el desplegable las otras opciones disponible, pero .... no funciona :(


Código ASP:
Ver original
  1. strSQL = "SELECT * FROM productos INNER JOIN categorias ON categorias.NomCategoria = productos.NomCategoria WHERE IdProducto=" & lngRecordNo


Código ASP:
Ver original
  1. <select name="NomCategoria" size="1" >
  2.  
  3.  
  4. <option value="<%=rs("categorias.NomCategoria")%>"><%=rs("categorias.NomCategoria")%></option>
  5.  
  6. <%
  7. 'Pasa a la siguiente fila
  8. rs.MoveNext
  9. Loop
  10. response.write("<OPTION value="&rs("categorias.NomCategoria")&">"&rs("categorias.NomCategoria")&"</option>")
  11. %>
  12. </select>

Alguna idea?

gracias
Fran
  #2 (permalink)  
Antiguo 23/12/2010, 15:54
 
Fecha de Ingreso: julio-2003
Ubicación: Barcelona
Mensajes: 142
Antigüedad: 20 años, 9 meses
Puntos: 1
Respuesta: pROBLEMAS CON SELECT

asi consigo mostrar el resultado de la base de datos pero no el resto de categorias

Código ASP:
Ver original
  1. <select name="NomCategoria">
  2. <%do while not rs.eof %>
  3. <option value="<%=rs("categorias.NomCategoria")%>"><%=rs("categorias.NomCategoria")%></option>
  4. <%
  5. rs.MoveNext
  6. Loop
  7. response.write("<OPTION value="&rs("categorias.NomCategoria")&">"&rs("categorias.NomCategoria")&"</option>")
  8. %>
  9. </select>
  #3 (permalink)  
Antiguo 27/12/2010, 13:18
Avatar de verinchi  
Fecha de Ingreso: septiembre-2004
Ubicación: Buenos Aires
Mensajes: 647
Antigüedad: 19 años, 7 meses
Puntos: 2
Respuesta: pROBLEMAS CON SELECT

Por lo que puedo ver te mareaste un poco.

Lo que debes tener es:
1 - Un recordset con los resultados de todas las categorías (RsCategorias)
2 - Un recordset con los demás datos que muestres, y la categoría seleccionada incluida (RsDatos) - espero que se entienda.

Entonces:


En htm con asp embebido se ve más claro y los wyswyg vas siguiendo el diseño
Código:
<select name="miSelect">
 <%While Not RsCategorias.eof%>
  <option value="<%=RsCategorias("Valor_Clave")%>" <% if(RsCategorias("Valor_Clave"= RsDatos("Valor_Categoria" Then response.Write("Selected='selected') end if%>><%=RsCategorias("Descripcion")%></option>
 <%RsCategorias.MoveNext()
Wend
%>
</select>

Adaptando esto a tus propios nombres de datos, debería funcionarte bien.

Edité porque había olvidado envolver el código en sus etiquetas correspondientes.
__________________
Why can't we not be sober?
www.partitorium.com.ar
  #4 (permalink)  
Antiguo 27/12/2010, 16:18
 
Fecha de Ingreso: julio-2003
Ubicación: Barcelona
Mensajes: 142
Antigüedad: 20 años, 9 meses
Puntos: 1
Respuesta: pROBLEMAS CON SELECT

Hola verinchi,

gracias por tu ayuda pero no me aclaro.

intento montarlo con tu codigo y mis conexiones a ver si lo conseguimos.

gracias again
fran
  #5 (permalink)  
Antiguo 28/12/2010, 10:47
Avatar de verinchi  
Fecha de Ingreso: septiembre-2004
Ubicación: Buenos Aires
Mensajes: 647
Antigüedad: 19 años, 7 meses
Puntos: 2
Respuesta: pROBLEMAS CON SELECT

Es que con tu conexión, y tu consulta (una sola consulta) no va a funcionar. ¿Por qué?

Razonalo de esta manera y vas a darte cuenta: Qué datos trae tu consulta?
Código ASP:
Ver original
  1. SELECT * FROM productos INNER JOIN categorias ON categorias.NomCategoria = productos.NomCategoria WHERE IdProducto=" & lngRecordNo

Si lo analizas con paciencia, esta consulta te traerá la categoría de uno de tus productos (El que deseas ver los detalles y seleccionaste previamente, imagino)

Si lo que necesitas es un menú con todas las categorías para poder cambiar el producto de categoría (ya parece un trabalenguas, pero quiero ser clara) lo que debes hacer te lo expliqué en el post anterior.

1 - Un select para todas las categorías (Filtralas por activas si corresponde y ordenalas en alfabético si te gusta)

2 - La consulta que muestra todos los datos correspondientes al producto en cuestión.

Luego, cuando imprimis en el select, lo haces comparando la categoría de la lista con la categoría que tu producto tiene asociada (generalmente se vincula una tabla con la otra por ID de categoría. Si no es así... fijate por qué campo tienes relación)

Dato extra de haber mirado tu código: Los response de un objeto recordset que ha finalizado de loopear siempre darán error.
Te lo destaco porque no mencionaste que te dio error pero veo que recorres todo el objeto y luego haces una impresión más fuera del loop. Esa práctica no es recomendable y no funciona.

La estructura que debes seguir es:

Código ASP:
Ver original
  1. Definir el select (menú con sus opciones)
  2. condición de loopeo sobre el objeto recordset de TODAS las categorías
  3.  declaración del option (cada option tendrá un value sacado de la tabla de categorías)
  4. loop sobre el objeto recordset
  5. cierre del select

Lo coloco en pseudocódigo para que logres comprenderlo y adaptarlo. Luego me cuentas pero recuerda: Las consultas son dos! una para las categorías y la otra para los datos de tu producto, si no, no te va a resultar jamás.

No te lies, presta atención a la estructura de la tabla, su modelo relacional, y te darás cuenta de lo que te estoy diciendo. OK?

si siguen las dudas, seguimos intentando ;)
__________________
Why can't we not be sober?
www.partitorium.com.ar

Etiquetas: select
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




La zona horaria es GMT -6. Ahora son las 10:35.