Hola amigos miren tengo este formulario:
Código:
<%
'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>
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...