webForumDet fria alternativet

REquest.Querystring

17 svar · 259 visningar · startad av His Divine Shadow

His Divine ShadowMedlem sedan sep. 20002 748 inlägg
#1

En fråga:
kundlista.asp?Produkt=W__&Sort=postnr

Detta fält(postnr) innehåller denna (exempel) text:

00940 HELSINKI
Post nummer och Ort, hur ska jag göra om jag vill att det ska börja sortera från det 7:de tecknet?

------------------
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots.
So far, the Universe is winning.

icaaqMedlem sedan okt. 20004 910 inlägg
#2
strAdress = Mid(Request.Querystring("postnr"), 7)

typ :OO

------------------
I like ¼ £ whith cheese

emissionMedlem sedan dec. 19996 095 inlägg
#3

Menar du sorteringen i databasen? Då har det inget att göra med querystringen.

PatrikBMedlem sedan mars 20002 713 inlägg
#4

eh, lite off-topic men riktnummer till Helsinki: 00940 stämmer väl inte ....

Ska du ringa utlandet idag så är det endast 00 + (lokaltriktnummer - första nollan) i detta fall - 0040

cya,
PatrikB

------------------
*så kan det gå när inte haspen är på*

His Divine ShadowMedlem sedan sep. 20002 748 inlägg
#5

rikt....nummer????

Det är ett Postnummer, inte ett riktnummer.

------------------
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots.
So far, the Universe is winning.

icaaqMedlem sedan okt. 20004 910 inlägg
#6

vad var problemet da??

------------------
I like ¼ £ whith cheese

His Divine ShadowMedlem sedan sep. 20002 748 inlägg
#7

Ett problem med denna lösning.
Kolla:
"ORDER BY " & Request.QueryString("Sort") & " "

Denna lösning som ni gav funkar bara om det endast kan kunna sorteras efter postnr, men det kan sorteras efter namn osv också, så jag antar jag behöver en sorts "If sats" här.. om ni fattar vad jag menar.

------------------
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots.
So far, the Universe is winning.

LarsGMedlem sedan dec. 200012 465 inlägg
#8

Om du har en querystring som ser ut som

visa?sort=postnr&sort=namn

så borde det vara ok att skriva

"order by " & request.querystring("sort")

Med den querystring som jag skrev så skulle resultatet bli

order by postnr,namn

------------------
essentitia preter non sans multiplicandum

His Divine ShadowMedlem sedan sep. 20002 748 inlägg
#9

Nej jag har en string som ser ut såhär:

kundlista.asp?Produkt=W__&Sort=postnr

Produkt är kundnummren, detta tar hand om vilka poster som ska visas "sort" tar hand om hur sorteringen ska skötas.
Och jag har en tabell i sidan där namn och ort osv fins listade, och på dom kan man klicka så det sorteras efter dom, dom är länkar och postnr så har just den som jag visar, namn har:
kundlista.asp?Produkt=W__&Sort=namn

Jag vill ju inte att namn ska sorteras efter det 7:de tecknet, detta gäller endast för postnr

------------------
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots.
So far, the Universe is winning.

icaaqMedlem sedan okt. 20004 910 inlägg
#10
If Request.Querystring("Sort") = "postnr" Then
strToOrderBy = "Right(ObjRS("postnr"), 5)"
Else
strToOrderBy = "Mid(ObjRS("postnr"), 7)"
End If

:OO

------------------
I like ¼ £ whith cheese

His Divine ShadowMedlem sedan sep. 20002 748 inlägg
#11

Microsoft VBScript compilation error '800a0401'

Expected end of statement

/main/swe/kundlista.asp, line 4

strToOrderBy = "Right(ObjRS("postnr"), 5)"
-----------------------------^

??? Jag fattar helt enkelt inte, om " teckent är i vägen och ändå behövs hur ska man då göra?

------------------
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots.
So far, the Universe is winning.

icaaqMedlem sedan okt. 20004 910 inlägg
#12
If Request.Querystring("Sort") = "postnr" Then
strToOrderBy = Right(ObjRS("postnr"), 5)
Else
strToOrderBy = Mid(ObjRS("postnr"), 7)
End If

hmm.... :r

------------------
I like ¼ £ whith cheese

His Divine ShadowMedlem sedan sep. 20002 748 inlägg
#13

Såhär ser det ut:
<%
produkt = Request.QueryString("produkt")

If Request.Querystring("Sort") = "postnr" Then
strToOrderBy = Right(RS_prod("postnr"), 5)
Else
strToOrderBy = Mid(RS_prod("postnr"), 7)
End If
%>

<%
Set Conn = Server.CreateObject("ADODB.Connection")
SQL= "SELECT * FROM KUND " &_
"WHERE Kundnr LIKE '" & Produkt & "'" &_
"ORDER BY " & strToOrderBy & " "
Conn.Open Session("GB_ConnectionString")
Set RS_prod = Conn.Execute(SQL)

%>

Och det säger:
Microsoft JET Database Engine error '80040e14'

Syntax error in ORDER BY clause.

Jag bytte ut ObjRS mot RS_Prod också.

------------------
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots.
So far, the Universe is winning.

kristofferMedlem sedan juni 20001 266 inlägg
#14

Ska du ringa utlandet idag så är det endast 00 + (lokaltriktnummer - första nollan) i detta fall - 0040

Nej, för att ringa utlandet slår man 00 + landsnummer + (lokalt riktnummer minus första nollan) + telefonnummer.

Ex. 0035812555555 om det är telefonnumret 012-555555 i Finland.

------------------
http://www.tavlingar.se

LarsGMedlem sedan dec. 200012 465 inlägg
#15

Jag vill ju inte att namn ska sorteras efter det 7:de tecknet, detta gäller endast för postnr

Jag förstår inte. Vad är 7:e tecknet?

------------------
essentitia preter non sans multiplicandum

emissionMedlem sedan dec. 19996 095 inlägg
#16

Vill du att den ska sortera efter ortsnamnen och strunta i postnumren, eller?

En ORDER BY RIGHT(LEN(PostNR)-6) torde funka i MSSQL, men knappast i Access/JET.

His Divine ShadowMedlem sedan sep. 20002 748 inlägg
#17

Bingo emission, hursomhelst jag tror jag har en lösning, detta med orts namnen så är lite problematiskt när man har 'vanliga' fält också, så jag kommer att lägga detta in en kopia som används då man väljer sortera efter ort namn.

------------------
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots.
So far, the Universe is winning.

LarsGMedlem sedan dec. 200012 465 inlägg
#18

Du får väl göra något såhär

if  request.querysting("sort") = "postnr" then
   sql = "select namn,postnr from t " 
else
   sql ="select namn,postnr,mid(postnr,7) from t
end if
'sätt villkor

sql = sql & " where ... "

if  request.querysting("sort") = "postnr" then
   sql = sql & " order by postnr " 
else
   sql ="sql & " order by 3 " 
end if

där 3 i order by motsvarar den 3 positionen i select-listan.

------------------
essentitia preter non sans multiplicandum

Genererad på 384 ms · cache AV · v20260730165559-full.f96bc7eb