webForumDet fria alternativet

Hjälp med nybörjar problem

ASPur ASP

1 svar · 235 visningar · startad av Ville78

Medlem sedan juli 200319 inlägg
Frågan#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 :)

133 ms totalt · 3 externa anrop · v20260731065814-full.4bcf49fe
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)