Tema: Diccionario
Ver Mensaje Individual
  #4 (permalink)  
Antiguo 17/03/2005, 13:23
Avatar de mrgubu
mrgubu
 
Fecha de Ingreso: febrero-2002
Ubicación: Granada
Mensajes: 431
Antigüedad: 23 años, 4 meses
Puntos: 2
Perfecto como siempre, Dazuaga.

El ejemplo está en práctica en http://granadalinks.com/asesur/diccionario.asp, es una página en pruebas.

Las iniciales son enlaces internos al lugar donde aparece la primera palabra de cada letra.

Aquí dejo el código, seguro que puede ser optimizado:

<%
strSQL2 = "SELECT Left(diccionario.concepto,1) AS Inicial, Count(Diccionario.concepto) AS CantidadPalabras FROM diccionario GROUP BY Left(diccionario.concepto,1) ORDER BY Left(diccionario.concepto,1)"

Set rs2 =Server.CreateObject("ADODB.RecordSet")
rs2.Open strSQL2, conn, 3%>


<div style="text-align:center">
<%do while not rs2.eof %>
<a href="#<%=rs2("Inicial") & "1"%>"><%=rs2("Inicial")%></a>&nbsp;
<%rs2.movenext
loop%>
</div>

<%rs2.movefirst

do while not rs2.eof

strSQL="SELECT * FROM diccionario WHERE concepto LIKE '"&rs2("Inicial")&"%' ORDER BY concepto"
Set RS =Server.CreateObject("ADODB.RecordSet")
RS.Open strSQL, conn, 3

contador=1
do while not rs.eof%>

<a name="<%=rs2("Inicial") & contador%>"></a>
<p><strong><%If Not trim(RS("concepto"))= "" Then Response.Write RS("concepto")%></strong><br />
<%If Not trim(RS("significado"))= "" Then Response.Write Replace(rs("significado"), Chr(13), "<br />")%>
</p><br />

<%
rs.movenext
contador=contador+1
loop

rs2.movenext
loop

Set strCon = Nothing
rs2.close
set rs2 = nothing

rs.close
set rs = nothing
conn.close
set conn = nothing
%>


Y una preguntilla de SQL: ¿Qué diferencia hay entre DISTINCT Y GROUP BY? Yo pensaba inicialmente que el SQL se haría utilizando DISTINCT.