Har problem med en LIKE-sats.
På sid 1 ska man kunna välja vilken bokstav man vill sortera på. Har en SELECT där man väljer bokstav:
...
SQL ="SELECT * FROM sadaqa "
rs.Open SQL, MinCon
%>
<DIV align="center">
<form>
<select name=namn Onchange="location.href=(form.namn.options[form.namn.selectedIndex].value)">
<option value="0">Sortera inlägg</option>
<option value="namn.asp?SQL2=WHERE kategori='p' AND namn LIKE 'A%' ">A</option>
SQL2 skickas sedan till sid 2 som en variabel och plockas upp i koden där värdena ska listas.
Det som kommer med till sid 2 är följande:
SELECT * FROM sadaqa WHERE kategori='p' AND namn LIKE 'A' Procenttecknet faller alltså bort på vägen och det gör att inget listas, för jag har ingen post som bara heter A.
Några tips på hur jag får %-tecknet att hamna där det ska så listningen funkar?
@ndersMedlem sedan juni 200032 969 inlägg Det är inte säkerhetsmässigt helt bra att köra SQL-frågor som du hämtar från querystrings, utan att kolla av dem innan.
- - -
Om du ska skicka procenttecken i quersytring så måste du url-koda det.
option value="namn.asp?SQL2=WHERE kategori='p' AND namn LIKE 'A<%=Server.URLEncode("%")%>' ">A</option>
Mvh,
Det funkar!!!
Hejsan @nders!
Tusen tack! Nu funkar det! :bire
Menar du att det är bättre att köra Request.Form istället för Request.QueryString? Eller finns det nån annan bätrre och säkrare lösning?
@ndersMedlem sedan juni 200032 969 inlägg Det är bättre att skicka bara det som behövs för att sätta dina villkor i SQL-satsen. Exempel:
<option value="namn.asp?kategori=p&namn=A">A</option>
strSQL = "SELECT * FROM sadaqa WHERE kategori='" & Request.Querystring("kategori") & "' AND namn LIKE '" & Request.Querystring("namn") & "%' "
Nånting sånt.
mvh,