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

Terminando buscador

Estas en el tema de Terminando buscador en el foro de ASP Clásico en Foros del Web. Estoy haciendo un buscador, donde uno de los filtros de busqueda es categorias, creo checkboxes dinamicamente dependiendo de cuantos registros tenga la tabla categorias, los ...
  #1 (permalink)  
Antiguo 17/10/2006, 14:33
 
Fecha de Ingreso: julio-2002
Ubicación: Valparaiso
Mensajes: 152
Antigüedad: 21 años, 10 meses
Puntos: 0
Pregunta Terminando buscador

Estoy haciendo un buscador, donde uno de los filtros de busqueda es categorias, creo checkboxes dinamicamente dependiendo de cuantos registros tenga la tabla categorias, los creo de esta forma


Do while not rs5.EOF
Response.Write ("<tr>")
For i = 1 To 7
If Not rs5.EOF Then
Response.Write("<td width=""14%"" height=""22"" align=""left"" valign=""top"">")
Response.Write("<label class=""texto11n"">")
Response.Write("<input type=""checkbox"" name=""categorias"" value=""'"&rs5.Fields("id_cat")&"'"">")
Response.Write(""&rs5.Fields("nombre")&"")
Response.Write("</label></td>")

rs5.MoveNext
End If
Response.Write("</td>")
Next
Response.Write("</tr>")
Loop

Como ven el checkbox se llama categorias, y cuando hago las busqueda categorias me quedaria asi si eligo 4 categorias

categorias= 'radio', 'television', 'cultura', 'musica'

Entonces cuando busco hago el

Select * from tabla where id_cat in ("&categorias&") ...........

Al mostrar los resultados cargo el buscador de nuevo por si quieren hacer una nueva busqueda, lo que necesito es que las categorias seleccionadas anteriormente queden como checked ya que en la primera busqueda estas estan todas desseleccionadas

categorias= 'radio', 'television', 'cultura', 'musica'

Osea tendria k separarlas

'radio', 'television', 'cultura', 'musica'

radio
television
culltura
musica

Me gustaria saber cual la mejor manera de hacer esto, ya que nunca habia tenido que hacer algo asi y en la Faqs no encontre nada parecido, y esto es lo ultimo que me falta para terminar esto
  #2 (permalink)  
Antiguo 18/10/2006, 06:41
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
algo rápido que seguro hay que afinar:

Código:
Do while not rs5.EOF
Response.Write ("<tr>")
For i = 1 To 7 
If Not rs5.EOF Then
Response.Write("<td width=""14%"" height=""22"" align=""left"" valign=""top"">")
Response.Write("<label class=""texto11n"">")
if InStr(Request.Form("Categorias"),rs5.Fields("id_cat"))>0 Then
   Estado = " checked "
End If
Response.Write("<input type=""checkbox"" name=""categorias"" value=""'"&rs5.Fields("id_cat")&"'"" " & Estado & ">")
Response.Write(""&rs5.Fields("nombre")&"")
Response.Write("</label></td>")

rs5.MoveNext
End If
Response.Write("</td>")
Next
Response.Write("</tr>")
Loop
  #3 (permalink)  
Antiguo 18/10/2006, 10:21
 
Fecha de Ingreso: julio-2002
Ubicación: Valparaiso
Mensajes: 152
Antigüedad: 21 años, 10 meses
Puntos: 0
Mil gracias Myakire, estaba buenisimo, solo habia que asignarle a Estado = "" para cuando no encontrara el ID, pero era solo eso.

Voy a dejar el codigo por si a alguien mas le interesa

Do while not rs5.EOF
Response.Write ("<tr>")
For i = 1 To 7
If Not rs5.EOF Then
Response.Write("<td width=""14%"" height=""22"" align=""left"" valign=""top"">")
Response.Write("<label class=""texto11n"">")
if InStr(Request.Form("Categorias"),rs5.Fields("id_ca t"))>0 Then
Estado = " checked "
else
Estado = ""

End If
Response.Write("<input type=""checkbox"" name=""categorias"" value=""'"&rs5.Fields("id_cat")&"'"" " & Estado & ">")
Response.Write(""&rs5.Fields("nombre")&"")
Response.Write("</label></td>")

rs5.MoveNext
End If
Response.Write("</td>")
Next
Response.Write("</tr>")
Loop
  #4 (permalink)  
Antiguo 18/10/2006, 10:28
 
Fecha de Ingreso: julio-2002
Ubicación: Valparaiso
Mensajes: 152
Antigüedad: 21 años, 10 meses
Puntos: 0
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 23:02.