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

Cambiar aspecto de coincidencias en busqueda

Estas en el tema de Cambiar aspecto de coincidencias en busqueda en el foro de ASP Clásico en Foros del Web. Hola. Tengo una BD Access con 4 campos: Pos (posicion), Pelicula , Ptos(puntos) y Votos. En buscar.htm introduzco una palabra (enseño el codigo): ------------------- <html> ...
  #1 (permalink)  
Antiguo 08/07/2004, 11:10
 
Fecha de Ingreso: octubre-2003
Mensajes: 280
Antigüedad: 21 años, 6 meses
Puntos: 1
Cambiar aspecto de coincidencias en busqueda

Hola. Tengo una BD Access con 4 campos: Pos (posicion), Pelicula , Ptos(puntos) y Votos.
En buscar.htm introduzco una palabra (enseño el codigo):
-------------------
<html>

<head>
<title>Busqueda</title>
<link href="http://www.uco.es/~b92hijia/personal/text.css" rel="stylesheet" type="text/css">
</head>
<form method="Post" action="buscar.asp">
<body background="http://www.uco.es/~b92hijia/personal/images/blue_bg3.jpg">
<p align="left"><font face="Arial, Helvetica, sans-serif" size="4"><b>Ingrese
Palabra a buscar</b></font> <br>
<font color="#FFFFFF" size="2" face="Arial, Helvetica, sans-serif">(pel&iacute;cula, director, a&ntilde;o
de producci&oacute;n...etc)</font></p>
<p align="left">
<input type="text" name="palabra" size="20">
</p>
<p align="left">
<input type="submit" value="Buscar" name="boton1">
<input type="reset" value="Restablecer" name="boton"></form>
<p> </p>
</body>

</html>

Bien, lo que quiero es que cuando se muestre los resultados en buscar.asp , si se mete la palabra matr, y esta en la base de datos matrix, matrix reloaded y matrix revolutions, aparezca la palabra matr en color rojo-negrita. Os mando el codigo:
-----------------------------
<html>

<head>
<title>Resultados de Búsqueda</title>
<link href="http://www.uco.es/~b92hijia/personal/text.css" rel="stylesheet" type="text/css">
</head>

<body background="http://www.uco.es/~b92hijia/personal/images/blue_bg3.jpg">

<p><font face="Arial, Helvetica, sans-serif" size="2">Resultados obtenidos con
<strong><%=Request("palabra") %></strong></font>

<font size="2" face="Arial, Helvetica, sans-serif">
<%

Dim Conexion,Tabla
Set Conexion=Server.CreateObject("adodb.connection")
Set Tabla=Server.CreateObject("adodb.recordset")
Conexion.Open "Driver={Microsoft Access Driver (*.mdb)}; " & "Dbq=" & Server.MapPath("./paginar.mdb")

Dim Temp

Temp="Select * From Tabla Where UCase(Pelicula) like '%" & UCase(Request("palabra")) & "%'"

Tabla.Open Temp, Conexion
If Tabla.BOF And Tabla.EOF Then
%>
</font>
<p><font face="Arial, Helvetica, sans-serif" size="2">No se ha encontrado la pelicula
<strong><%=Request("palabra")%></strong> en la Base de Datos</font></p>
<font size="2" face="Arial, Helvetica, sans-serif">
<%
Else
%>
<% While Not Tabla.EOF%>
<br>
<li><%=Tabla.Fields("Pelicula")%> con <strong><%=Tabla.Fields("Ptos")%></strong> puntos, en la
posicion <strong><%=Tabla.Fields("Pos")%></strong> .</li>
<%
Tabla.MoveNext
Wend
Tabla.Close
Conexion.Close
End If
%>
<br>
<br>
<a class=acts2 href="./buscar.htm">[Buscar de nuevo]</a>
</font>
</body>
</html>

Gracias.
  #2 (permalink)  
Antiguo 08/07/2004, 11:44
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 24 años, 2 meses
Puntos: 535
hola. eso lo lográs haciendo un replace()

cambiá ésta línea:

Código:
<li><%=Tabla.Fields("Pelicula")%> con <strong><%=Tabla.Fields("Ptos")%></strong> puntos, en la 
posicion <strong><%=Tabla.Fields("Pos")%></strong> .</li>
por esta:
Código:
<li><%=Replace(Tabla.Fields("Pelicula"), Request("palabra"), "<strong>" & Request("palabra") & "</strong>")%> con <strong><%=Tabla.Fields("Ptos")%></strong> puntos, en la 
posicion <strong><%=Tabla.Fields("Pos")%></strong> .</li>
Fijate que sólo puse el resultado en negritas.. ahora el color rojo te toca a vos ;)

saludos
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 09:40.