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

Mostrar datos por campos

Estas en el tema de Mostrar datos por campos en el foro de ASP Clásico en Foros del Web. Buenas, tengo una base de datos con los siguientes campos: Base datos: directorio Tabla: directorio Campos de tabla directorio: Id nombre correo titulo URL categoria ...
  #1 (permalink)  
Antiguo 12/09/2003, 03:07
Avatar de Artepop  
Fecha de Ingreso: noviembre-2002
Ubicación: Fuengirola
Mensajes: 292
Antigüedad: 22 años, 6 meses
Puntos: 1
Mostrar datos por campos

Buenas, tengo una base de datos con los siguientes campos:

Base datos: directorio
Tabla: directorio

Campos de tabla directorio:

Id
nombre
correo
titulo
URL
categoria
categoria_link
descripcion
fecha
visitas

Y muestro en una página las 10 más visitadas:

Código:
<%
set oConn=Server.CreateObject("ADODB.Connection")
set rs=Server.CreateObject("ADODB.Recordset")
oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="&Server.MapPath("../../db/directorio.mdb")&";"
SQL="SELECT TOP 10 * FROM directorio ORDER BY visitas DESC;"
rs.Open SQL, oConn
do while not rs.eof
response.write "<tr><td><a target=""_brank"" href=""../enlaces_externos/directorio.asp?pagina="&rs.Fields("URL")&"&Id="&rs.Fields("Id")&""">"&rs.Fields("titulo")&"</a></td></tr>"
rs.movenext
loop
rs.close
oConn.close
%>
Hasta hay perfecto, pero necesito mostrar en otras páginas la lista de sitios webs por categorias.

Osea al entrar, por ejemplo, en la categoría Arte y Cultura me muestre sólo las páginas de esta categoría.

Agradecería como se hace. Gracias y un saludo.
__________________
http://www.mfo.com.es/
  #2 (permalink)  
Antiguo 12/09/2003, 10:42
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 23 años, 3 meses
Puntos: 50
Porque no haces una tabla que sea categorías, para genera su id así como su nombre ejemplo:;

TablaCategorías
Id*********Categoría
1 ******** Arte
2 ******** Cultura
...
..etc

y otra donde venga el link o el contenido de de la página
TablaContenido
idContenido*****idTablaCat*****links****otros_datos
1**************1(que corresponde a Arte)*****tu_link***tus datos

y haces tus relaciones para poder accesar a los datos posteriormente.. y tu consulta podría quedar como_

Cita:
select a.Categoria, b.links from TablaCategorias as a
inner join TablaContenido as b on a.id = b.idTabla
y con ello obtendrías el link de esa categoría.

Espero te sirva.

Saludos
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #3 (permalink)  
Antiguo 12/09/2003, 12:54
Avatar de Artepop  
Fecha de Ingreso: noviembre-2002
Ubicación: Fuengirola
Mensajes: 292
Antigüedad: 22 años, 6 meses
Puntos: 1
No se mucho aun de ASP, mucho HTML sí...

A ver yo muestro en la página principal del directorio los link hacia todas las categorias...

Luego muestro toda la base de datos:

Código:
<%
Dim oConn, rs, SQL
Dim PaginaActual
Dim PaginasTotales
Dim TamPagina
Dim CuantosRegistros
TamPagina=10
if Request.Querystring("pagina")="" then
PaginaActual=1
else
PaginaActual=CInt(Request.Querystring("pagina"))
end if
set oConn=Server.CreateObject("ADODB.Connection")
set rs=Server.CreateObject("ADODB.Recordset")
oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0; " & _
"Data Source="&Server.MapPath("../../db/directorio.mdb")&";"
SQL="SELECT Id, titulo, URL, categoria, categoria_link, descripcion, fecha, visitas FROM directorio ORDER BY entradas DESC;"
rs.PageSize=TamPagina
rs.CacheSize=TamPagina
rs.Open SQL, oConn, 1, 2
PaginasTotales=rs.PageCount
if PaginaActual < 1 then
PaginaActual = 1
end if
if PaginaActual > PaginasTotales then
PaginaActual = PaginasTotales
end if
if PaginasTotales=0 then
Response.Write("<p class=""texto3"" align=""center""><b>No se encontraron resultados</b></p>")
else
rs.AbsolutePage=PaginaActual
Response.Write("<p class=""texto2"">P&aacute;gina " & PaginaActual & " de " & PaginasTotales & "</p>")
Response.Write("<table width=""540"" border=""0"" cellspacing=""0"" cellpadding=""0"">")
Response.Write("<tr>")
Response.Write("<td width=""540"" height=""15"" background=""../imagenes/puntos.gif"">")
Response.Write("</td>")
Response.Write("</tr>")
CuantosRegistros=0
do while not rs.EOF and CuantosRegistros < TamPagina
Response.Write("<tr>"&VbCrLf)
Response.Write("<td valign=""top"" width=""540"">")
Response.Write("<p class=""texto3"">")
Response.Write("<a target=""_brank"" href=""../enlaces_externos/directorio.asp?pagina="&rs.Fields("URL")&"&Id="&rs.Fields("Id")&"""><b>"&rs.Fields("titulo")&"</b></a><br>")
Response.Write("<a target=""_brank"" href=""../enlaces_externos/directorio.asp?pagina="&rs.Fields("URL")&"&Id="&rs.Fields("Id")&"""><font color=""#000000"">"&rs.Fields("descripcion")&"</font></a><br>")
Response.Write("<b>URL</b>: <a target=""_brank"" href=""../enlaces_externos/directorio.asp?pagina="&rs.Fields("URL")&"&Id="&rs.Fields("Id")&""">"&rs.Fields("URL")&"</a><br>")
Response.Write(""&rs.Fields("fecha")&" - "&rs.Fields("visitas")&" visitas - <a href="""&rs.Fields("categoria_link")&".asp""><font color=""#000000"">"&rs.Fields("categoria")&"</font></a><br>")
Response.Write("</p>")
Response.Write("</td>")
Response.Write("</tr>")
Response.Write("<tr>")
Response.Write("<td width=""540"" height=""15"" background=""../imagenes/puntos.gif"">")
Response.Write("</td>")
Response.Write("</tr>")
CuantosRegistros=CuantosRegistros+1
rs.MoveNext
loop
Response.Write("</table>")
end if
rs.Close
oConn.Close
set rs=nothing
set oConn=nothing
Response.Write("<p class=""texto2"" align=""right"">")
if PaginaActual > 1 then
Response.Write("&laquo;&nbsp;[&nbsp;<a href=""default.asp?pagina="& PaginaActual-1& _
""">Anteriores</a>&nbsp;]")
end if
if PaginaActual < PaginasTotales then
Response.Write("&nbsp;[&nbsp;<a href=""default.asp?pagina=" & PaginaActual+1 & _ 
""">Siguientes</a>&nbsp;]&nbsp;&raquo;")
end if
%>
Está ordenado por 'entradas' que un campo numerico, le envio un link a las web para poner un enlace hacia mi sitio e incrementa un número su campo 'entradas' mediante la ID

Código:
<a target="_brank" href="http://www.navegandaluz.com/directorio/entradas.asp?Id=aqui_ID_del_registro">Navegandaluz.com</a>
Y llama a esta página:

Código:
Suma en 'entradas'...

<%
Set con = Server.CreateObject("ADODB.Connection")
Con.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _
Server.MapPath("../../db/directorio.mdb"))
sqlUPDATE = "UPDATE directorio SET entradas = entradas + 1 WHERE Id=" & Request.QueryString("Id")
Con.Execute(sqlUPDATE)
%>

Y redirige

<%
Response.Write "<meta http-equiv=refresh content=3;URL=""http://www.navegandaluz.com/"">"
%>

Lo único que necesito es saber como tal como muestro de esta forma toda la base de datos, mostrar unicamente los registro que tenga, por ejemplo en el campo 'categoria_link' arte_cultura
__________________
http://www.mfo.com.es/
  #4 (permalink)  
Antiguo 13/09/2003, 03:20
Avatar de Artepop  
Fecha de Ingreso: noviembre-2002
Ubicación: Fuengirola
Mensajes: 292
Antigüedad: 22 años, 6 meses
Puntos: 1
Solucionado,

Código:
SQL="SELECT Id, titulo, URL, categoria, categoria_link, descripcion, fecha, visitas FROM directorio WHERE categoria_link LIKE 'arte_cultura' ORDER BY entradas DESC;"
__________________
http://www.mfo.com.es/
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:23.