Hjälp med nybörjar problem

ASP

1 svar · 240 visningar · startad av Ville78

Medlem sedan juli 200319 inlägg
Trådstart#1

Hej!

Har ett lite problem med en sida jag gjort med koppling mot en mysql databas

Sidan visar skivor och man kan klicka på A och få alla skivor med artister som börjar på a
o.sv genom hela alfabeten. Har löst detta genom like, och det funkar hur bra som helst tills jag kommer till de som heter någon, med siffror eller något annat som ligger utanför alfabete. Då vill det sig inte. Finns det någon som kan tala om hur jag kan lösa detta?

SQL-koden ser ut så här i dags läget, om det kan vara någon hjälp:

<%
BOK = Request.Querystring("Bokstav")
%>
<%
If Request.Querystring("Bokstav") = "" Then
BOK = ("A")
End If
%>
<%

sql = "SELECT GRUPPER.ARTISTER, SKIVOR.SKIID, SKIVOR.TITEL, SKIVOR.PRIS "
sql = sql & "FROM GRUPPER INNER JOIN SKIVOR ON "
sql = sql & "GRUPPER.GRUID = SKIVOR.GRUID "
sql = sql & "WHERE SKIVOR.KATTID= 2 AND ARTISTER LIKE '"&BOK&"%' "
sql= sql & "ORDER BY ARTISTER ASC "
rs.open sql, conn,3 ,3
%>

Kod snutarna som jag använder mig för att olika bokstäver ser ut så här, plus det senaste försöket för att lösa de med siffror

<td width="4%"><a href=presentation2.asp?Bokstav=Ö>Ö</a></td>

<td width="12%"><a href=presentation2.asp?Bokstav=("[0123456789]")>1_10</a></td>

Tack på förhand för hjälp

Medlem sedan dec. 20003 887 inlägg
#2

Prova om detta fungerar...

<%
strSearch = Replace(Request.QueryString("bokstav", "'", "''"))

Select Case strSearch
  Case ""
    strWhere = "Artister LIKE 'A%' "
  Case "0-9"
    strWhere = "CAST(LEFT(Artister, 1) AS SIGNED) >= 0 AND CAST(LEFT(Artister, 1) AS SIGNED) <= 9 "
  Case Else
    strWhere = "Artister LIKE '" & strSearch & "%' "
End Select

strSql = "SELECT G.Artister, S.SkiID, S.Titel, S.Pris " & _
         "FROM Grupper G " & _
         "INNER JOIN Skivor S ON S.GruID = G.GruID " & _
         "WHERE S.KattID = 2 AND " & strWhere & _
         "ORDER BY Artister"

rs.Open strSql, conn, 3, 3
%>

<td width="4%"><a href=presentation2.asp?Bokstav=Ö>Ö</a></td>

<td width="12%"><a href=presentation2.asp?Bokstav=("[0-9]")>0 - 9</a></td>

Det går väl säkert att göra det bättre om man vill :)

256 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)