Código:
Mi idea es que cuando en el primer select se eliga todos los productos en el tercer select aparezca oredenar por categoria, y que en cualquier otro caso no aparezca.... todos los que he visto hay que definir los campos que quiero en cualquier caso de eleccion en el primer select... y como mi primer select es relativo no puedo saber cuantos casos son... bueno espero haver sido claro.... eso pues saludos y gracias de antemano... <% 'Declaración de variables Dim conn Dim rs Dim productos_sql Dim categorias_sql Dim categoria Dim categorias Dim registros Dim tamanoimg Dim paginaactual Dim inicio Dim fin Dim contador Dim n_paginas Dim i Dim anterior Dim siguiente Server.ScriptTimeOut = 180 'Rescate de la información pasada por URL categoria = Request.Querystring("categoria") 'Rescate de la información del formulario registros = Request.Querystring("registros") paginaactual = Request.Querystring("paginaactual") orden = Request.Querystring("orden") registros1 = clng(Request.Querystring("registros")) 'Fijación del número de registros por defecto if registros = "" then registros = 5 end if 'Fijación de la posición por defecto if paginaactual = "" then paginaactual = 1 end if if orden = "" then orden="categoria" end if 'Establecemos la conección a la base de datos Set conn = Server.CreateObject("ADODB.Connection") conn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("../catalogo.mdb")) Set rs = CreateObject("ADODB.Recordset") 'Condición de validez de la variable categoria if categoria = "" Then 'Creación de la sentencia SQL correspondiente (cambiar el valor de tabla por el nombre de la tabla que queremos seleccionar) productos_sql="Select categorias.nombre_categoria as nombre, productos.* From categorias Inner Join productos On categorias.id_categoria = productos.categoria Order By " & orden & "" else categorias = clng(Request.Querystring("categoria")) 'Creación de la sentencia SQL correspondiente (cambiar el valor de tabla por el nombre de la tabla que queremos seleccionar) productos_sql="Select categorias.nombre_categoria as nombre, productos.* From categorias Inner Join productos On categorias.id_categoria = productos.categoria Where productos.categoria = " & categoria & " Order By " & orden & "" end if rs.CursorType = adOpenKeyset rs.LockType = adLockOptimistic 'Apertura de la tabla rs.Open productos_sql, conn rs.pagesize = cint(registros) rs.absolutepage = cint(paginaactual) contador = 1 total = rs.recordcount %> <table border="0" width="100%" cellspacing="0" cellpadding="0" align="center"> <tr> <td width="20%" valign="top"> <!--#include file="inc/menu.inc" --> </td> <td width="80%" valign="top"> <form method="get" action="editar_producto.asp" target="_blank"> <table border="1" bordercolor="#DFE8FF" width="100%" cellspacing="0" cellpadding="0" align="center"> <tr> <td> <table border="0" width="100%" cellspacing="0" cellpadding="2"> <tr> <td width="2%" bgcolor="#DFE8FF" class="text" align="center"> </td> <td width="10%" bgcolor="#DFE8FF" class="text" align="center">CATEGORIA</td> <td width="10%" bgcolor="#DFE8FF" class="text" align="center">IMAGEN</td> <td width="22%" bgcolor="#DFE8FF" class="text" align="center">MARCA</td> <td width="22%" bgcolor="#DFE8FF" class="text" align="center">MODELO</td> <td width="24%" bgcolor="#DFE8FF" class="text" align="center">DESCRIPCION</td> <td width="10%" bgcolor="#DFE8FF" class="text" align="center">PRECIO</td> </tr> <% If Not rs.Eof Then Do While Not rs.eof And contador <= cint(registros) %> <tr> <td width="2%" bgcolor="#EFEFEF"><input type="radio" name="id" value="<% = rs("id_producto") %>"></td> <td width="10%" bgcolor="#EFEFEF"><% = rs("nombre") %></td> <td width="10%" bgcolor="#EFEFEF" align="center"><img src="../imagenes/<% = rs("imagen") %>" alt="<% = rs("imagen") %>" border="0" width="50" height="50"></td> <td width="22%" bgcolor="#EFEFEF"><% = rs("marca") %></td> <td width="22%" bgcolor="#EFEFEF"><% = rs("modelo") %></td> <td width="24%" bgcolor="#EFEFEF"><% = rs("descripcion") %></td> <td width="10%" bgcolor="#EFEFEF"align="right">$<% = rs("precio") %></td> </tr> <% rs.movenext contador=contador+1 Loop else %> <tr> <td width="100%" bgcolor="#EFEFEF" colspan="7" class="text" align="center">No hay productos en esta categoría</td> </tr> <% end if %> </table> </td> </tr> </table> <p align="center"><input type="submit" name="b1" value="Modificar" style="<% = BotonEstilo %>"></p> </form> <br><br><div align="center" class="text">Página: </div> <table align="center"> <tr> <%n_paginas = 0 'Condición para que aparezca "<<" para indicar un vínculo a la página anterior if cint(paginaactual) <> 1 then 'Fijación del valor de la variable anterior anterior = cint(paginaactual) - 1 response.write "<td align=""center""><a href=""form_editar_producto.asp?registros=" & registros & "&orden=" & orden & "&paginaactual=" & anterior & """>"&"<<"&"</a></td>" n_paginas = n_paginas + 1 end if 'Escritura del número total de páginas for i = 1 to rs.pagecount n_paginas = n_paginas + 1 'Condición para que el número de la página actual no salga como vínculo if cint(i) = cint(paginaactual) then response.write "<td align=""center"" class=""text"">" & i & "</td>" else response.write "<td align=""center""><a href=""form_editar_producto.asp?registros=" & registros & "&orden=" & orden & "&paginaactual=" & i & """>" & i & "</a></td>" end if next 'Condición para que aparezca ">>" para indicar un vínculo a la página siguiente if cint(paginaactual) <> rs.pagecount then 'Fijación del valor de la variable siguiente siguiente = cint(paginaactual) + 1 response.write "<td align=""center""><a href=""form_editar_producto.asp?registros=" & registros & "&orden=" & orden & "&paginaactual=" & siguiente & """>"&">>"&"</a></td>" end if %> </tr> </table> <% 'Creación de la sentencia SQL correspondiente (cambiar el valor de tabla por el nombre de la tabla que queremos seleccionar) categorias_sql="Select * From categorias" 'Ejecución de la orden Set rs = Conn.Execute(categorias_sql) %> <form method="get" action="form_editar_producto.asp"> <p align="center"><select name="categoria" style="<% = SelectEstilo %>"> <% Do While Not rs.Eof %> <option value="<% = rs("id_categoria") %>" <% if categorias = rs("id_categoria") Then %>selected<% end if %>>Ver <% = rs("nombre_categoria") %></option> <% rs.MoveNext Loop %> <option value="" <% if categoria = "" Then %>selected<% end if %>>Ver Todas las Categorías</option> </select> <select size="1" name="registros" style="<% = SelectEstilo %>"> <option value="5" <% if registros1 = 5 Or registros1 = "" Then %>selected<% end if %>>5 Productos por página</option> <option value="10" <% if registros1 = 10 Then %>selected<% end if %>>10 Productos por página</option> <option value="20" <% if registros1 = 20 Then %>selected<% end if %>>20 Productos por página</option> <option value="30" <% if registros1 = 30 Then %>selected<% end if %>>30 Productos por página</option> <option value="40" <% if registros1 = 40 Then %>selected<% end if %>>40 Productos por página</option> <option value="<% = total %>" <% if registros1 = total Then %>selected<% end if %>>Todos los Productos</option> </select> <select size="1" name="orden" style="<% = SelectEstilo %>"> <% If categoria = "" Then %><option value="categoria" <% if orden = "categoria" Or orden = "" Then %>selected<% end if %>>Ordenar por Categoría</option><% end if %> <option value="marca" <% if orden = "marca" Then %>selected<% end if %>>Ordenar por Marca</option> <option value="modelo" <% if orden = "modelo" Then %>selected<% end if %>>Ordenar por Modelo</option> <option value="precio" <% if orden = "precio" Then %>selected<% end if %>>Ordenar por Precio</option> </select> <input type="submit" name="b2" value="Mostrar" style="<% = BotonEstilo %>"></p> </form>