Avatar billede Slettet bruger
16. maj 2003 - 22:10 Der er 16 kommentarer og
2 løsninger

Kode system

Hej
Er der nogle som ved hvordan man kan lave såden et kode system så man kan trykke code.asp?alf=A så komemr alle spilende som starter med a. Men hvis man trykker noget efter code.asp?alf=AB så skal der ikke komme nogel side som ABE SPILLET.

/Kaspar
Avatar billede burningice Nybegynder
16. maj 2003 - 22:56 #1
SELECT * FROM tblSpil WHERE title = '%"& Request.Querystring &"%'
Avatar billede eagleeye Praktikant
17. maj 2003 - 02:14 #2
Du kan hendte værdien med Request.Querystring("alf")
Så skal du bruge LIKE i SQL eks på like:
xx LIKE 'a%'  Søger efter alt som starter med a i kolonnen xx
xx LIKE '%a'  Søger efter alt som slutter på a i kolonnen xx
xx LIKE '%a%'  Søger efter alt som indeholder a i kolonnen xx


Så din SQL bliver:

alf = Request.Querystring("alf")
SQL = "SELECT * FROM tabel WHERE spilnavn LIKE '"& alf " "%'"


For at udskrive det kan du gøre sådan her, men det kode har du sikker i forvejen ;)
Set rs = Conn.Execute(SQL)
do while not rs.EOF
  Response.write rs("spilnavn") & "<br>"
  rs.Movenext
loop
Avatar billede eagleeye Praktikant
17. maj 2003 - 02:15 #3
Du kan lave det lidt om så den kun har en WHERE del hvis alf indeholder noget.


alf = Request.Querystring("alf")
SQL = "SELECT * FROM tabel"
if alt <> "" then SQL = SQL & " WHERE spilnavn LIKE '"& alf " "%'"
Avatar billede websam Nybegynder
18. maj 2003 - 10:23 #4
Du kan jo oxo gøre det med "Left" :o)

alf = Request.Querystring("alf")
SQL = "SELECT * FROM tabel WHERE Left(spilnavn,1) = '"& alf "'"

Så er du sikker på at du kun får alle med f.eks. A som forbogstav

/Websam
Avatar billede Slettet bruger
22. maj 2003 - 20:01 #5
Endelig fik jeg tid til at kigge på det, Hvad er det galt her ?

<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath ("db.mdb")
Conn.Open DSN

alf = Request("alf")
SQL = "SELECT * FROM koder Where Left(titel,1) = '" & alf & "'"

if not rs.eof then
do until rs.eof
Response.write "Ders"
rs.movenext
loop
else
Response.write "ingen"
End If

%>
Avatar billede Slettet bruger
22. maj 2003 - 20:03 #6
bare rolig jeg deler pointene mellen jer!
Avatar billede eagleeye Praktikant
22. maj 2003 - 20:04 #7
Hvorfor prøvet du ikke det føste som jeg har vist

alf = Request.Querystring("alf")
SQL = "SELECT * FROM tabel WHERE spilnavn LIKE '"& alf " "%'"


Det er standart SQL hvorimod Left kun virker i nogle databaser.
Avatar billede eagleeye Praktikant
22. maj 2003 - 20:07 #8
Men det som er galt er der mangler en Set rs = Conn.Exeute(SQL) efter SQL er laver og før if not rs.EOF


alf = Request("alf")
SQL = "SELECT * FROM koder Where Left(titel,1) = '" & alf & "'"

Set rs = Conn.Execute(SQL)

if not rs.eof then
Avatar billede eagleeye Praktikant
22. maj 2003 - 20:13 #9
Jeg læste lige dit spørgsmål igen og du skriver du vil havde mulighed for at skrive:

code.asp?alf=AB

Som link og den så skal finde alt som starter med AB. Løsningen med Left vil ikke finde nogle da den kun sammenligner den føste karakter med AB og en karakter kan jo ikke være to karakter ;) Så brug LIKE som vist nedenfor. Så finde den alle dem som starter med det som man skirver i linket.


alf = Request.Querystring("alf")
SQL = "SELECT * FROM tabel WHERE spilnavn LIKE '"& alf " "%'"

Set rs = Conn.Execute(SQL)
Avatar billede burningice Nybegynder
22. maj 2003 - 20:22 #10
eagleeye>> du arbejder hårdt for sagen ;)
Avatar billede Slettet bruger
23. maj 2003 - 17:39 #11
Nej der står jeg ikke vil have at man kan det!
Avatar billede burningice Nybegynder
23. maj 2003 - 17:47 #12
Du kan lave noget

alf = Request.Querystring("alf")

If Lenght(alf) = 1 Then
  SQL = "SELECT * FROM tabel WHERE spilnavn LIKE '%"& alf &"%'"
Else
  SQL = "SELECT * FROM tabel WHERE spilnavn = '"& alf &"'"
End If
Avatar billede eagleeye Praktikant
23. maj 2003 - 17:52 #13
Ok så forkert ;) Hvad skal der så ske hvis man skriver dette link:??
code.asp?alf=AB
Avatar billede burningice Nybegynder
23. maj 2003 - 17:54 #14
eagleeye>> så viser den vel det spil der hedder AB?
Avatar billede eagleeye Praktikant
23. maj 2003 - 17:57 #15
Ja eller alle spil
Avatar billede burningice Nybegynder
23. maj 2003 - 18:25 #16
eagleeye>> ikke hvis han bruge den kode jeg lige er kommet med
Avatar billede eagleeye Praktikant
23. maj 2003 - 18:38 #17
Korrekt, og der er lidt uklart i selv spørgsmålet der for spørger jeg. For man kan jo også vise alle som starter med det første bogstav (a i eksemplet).

alf = Request.Querystring("alf")
SQL = "SELECT * FROM tabel WHERE spilnavn LIKE '"& left(alf,1) &"%'"
Avatar billede Slettet bruger
12. juni 2003 - 19:56 #18
Undskyld jeg først giver points nu!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester