Avatar billede jmc Nybegynder
16. februar 2003 - 23:35 Der er 16 kommentarer og
1 løsning

hvordan kan man trække en query ud?

Jeg skal slette en query fra en string, hvordan gør jeg dette?

doc.asp?y=2&g=asd&n=2&k=123

jeg vil gerne slette n, så string bliver:
doc.asp?y=2&g=asd&k=123

n kan være 1 eller 2 chars lang.
Avatar billede jensb Nybegynder
16. februar 2003 - 23:46 #1
y = Request.Querystring("y")
k = Request.Querystring("k")

nytlink = "doc.asp?y=" & y & "&k=" & k

Er det sådan du mener?
Avatar billede jensb Nybegynder
16. februar 2003 - 23:48 #2
Hov mangler lige g

y = Request.Querystring("y")
g = Request.Querystring("g")
k = Request.Querystring("k")

nytlink = "doc.asp?y=" & y & "&g=" & g & "&k=" & k
Avatar billede eagleeye Praktikant
16. februar 2003 - 23:51 #3
Du kan gøre efter end og så & som stop og hvis n er sidst så tage højde for det.

str = Request.QueryString
nstart = inStr(1,str,"n=")
nslut = inStr(nstart+1,"&")
nystr = Right(str,nstart-1)
if nslut > 0 then
  nystr = nystr & Mid(str,nslut+1)
end if
Avatar billede eagleeye Praktikant
16. februar 2003 - 23:51 #4
og så lige

Response.write nyStr

efter for test.
Avatar billede jmc Nybegynder
16. februar 2003 - 23:52 #5
jeg tænkte nok at jeg skulle have brugt mere tid på at forklare.
Men tak for den hurtige response.

Men altal i query er ubekendt!

problemet er at jeg skal hente og liste flere produkter på denne måde:
<a href="list.asp?n=50&<%=request.QueryString%>">

hvis n i forvejen findes i query bliver den listet dobbelt og giver en fejl.

Forstår du hvad jeg mener?
Avatar billede jmc Nybegynder
16. februar 2003 - 23:57 #6
Det lader ikke til at dette vil virke eagleeye:
Det giver stadigt to * n i URL

<% dim str
                      str = Request.QueryString
                      nstart = inStr(1,str,"n=")
                      nslut = inStr(nstart+1,"&")
                      nystr = Right(str,nstart-1)
                      if nslut > 0 then
                        nystr = nystr & Mid(str,nslut+1)
                      end if%>
                  <%if request.QueryString("n") = 5 then%>
                  [ 5 ] [ <a href="list.asp?n=50&<%=str%>">list 50</a> ]
                  <%else%>
                    [ <a href="list.asp?n=5&<%=str%>">5
                    </a>] [ list 50]
                    <%end if%>
Avatar billede jensb Nybegynder
16. februar 2003 - 23:57 #7
Jep så forstår jeg hvad du mener, men det blver for avanceret til at jeg kan hjælpe dig... men eagleye har vist lige lagt et svar som du nok bedre kan bruge.
Avatar billede eagleeye Praktikant
17. februar 2003 - 00:00 #8
Den nye QuersyString ligge i nystr så prøv at rette:

<%=str%>

Til:

<%=nystr%>
Avatar billede jmc Nybegynder
17. februar 2003 - 00:02 #9
nej det bliver vist også noget rod, nu stribber den N når jeg benytter andre funktioner og jeg skal til at scripte mere spagetti, jeg må finde en anden udvej.
Avatar billede jmc Nybegynder
17. februar 2003 - 00:08 #10
Det lader til at jeg måske kan få det til at virke, nu er der bare et & for meget i N, men det må være din  inStr(nstart+1,"&")
Avatar billede eagleeye Praktikant
17. februar 2003 - 00:15 #11
Ja den er gået helt gal et skal være sådan her:


str = Request.QueryString
nstart = inStr(1,str,"n=")
nslut = inStr(nstart+1,str,"&")
nystr = Left(str,nstart-1)
if nslut > 0 then
  nystr = nystr & Mid(str,nslut+1)
end if

Response.Write nystr
Avatar billede eagleeye Praktikant
17. februar 2003 - 00:17 #12
Der er rette i to linie:
nslut = inStr(nstart+1,"&")
nystr = Right(str,nstart-1)

De skal være sådan her:
nslut = inStr(nstart+1,str,"&")
nystr = Left(str,nstart-1)
Avatar billede jmc Nybegynder
17. februar 2003 - 00:24 #13
næsten alt virker, jeg skal bare lige have fundet en fejl hvor den alligevel bliver lagt ind i URL?

tak for hjælpen
Avatar billede jmc Nybegynder
17. februar 2003 - 00:34 #14
Det må være når n er to lang at det skal være:
nslut = inStr(nstart+2,str,"&")

ikke?
Avatar billede eagleeye Praktikant
17. februar 2003 - 09:22 #15
Ja det er rigtigt det bør vist være 2, men det betyder ikke så meget om den er 1 eller 2. Det er hvor den starter med at søge efter tegnet & etfer "n=", hvis den er 1 starter den med at søge fra = tegnet.
Avatar billede jmc Nybegynder
17. februar 2003 - 10:20 #16
Hvis jeg har denne string:
/list.asp?cid=3,5&n=5
og klikker list 50

så fejler den og skriver:
list.asp?n=50&=3,5&n=5
den skulle blive:
/list.asp?n=50&cid=3,5
Avatar billede jmc Nybegynder
17. februar 2003 - 10:23 #17
Sorry, det virker faktisk efter din rettelse, jeg fik det ikke opladed rigtigt. Der er nu kun et overflødigt & tegn, men det ser ikke ud til at fejle.
tak for hjælpe. 8o)
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