/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Session+Replace+kurv+DB problem :)
Fra : Daniel Valentin


Dato : 25-08-04 20:11

Hejsa allesammen!

Jeg roder med en indkøbskurv, og er løbet ind i et problem:

Jeg gemmer værdien varenummer i en session med:
Session("kurv") = Session("kurv") & ";" &
Request.QueryString("varenummer")

Derefter vil jeg finde navne på alle mine session varenumre i min
MySQL DB på en ny side, altså en side der fortæller hvad jeg har
lagt i min kurv:

<%
varenr = Replace(Session("kurv"),";",",")
%>
<%

'Connection til min DB

Conn.Open conStr

strSQL = "SELECT * FROM table1 Where varenummer IN (" & varenr &
")"
Set rs = Conn.Execute(strSQL)
Do While NOT rs.EOF
Response.Write rs("navn") & "<br>"
rs.MoveNext
Loop
%>

Dette virker ikke for mig!
Jeg kan godt bruge
strSQL = "SELECT * FROM table1 Where varenummer IN (1,2,3,4,5)

Så jeg gætter på min fejl er her:
varenr = Replace(Session("kurv"),";",",")

Har jeg ret i dette, eller hvor ligger fejlen?

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Chrisser (26-08-2004)
Kommentar
Fra : Chrisser


Dato : 26-08-04 08:23

Daniel Valentin wrote:
> Jeg gemmer værdien varenummer i en session med:
> Session("kurv") = Session("kurv") & ";" &
> Request.QueryString("varenummer")

[snip]

> Så jeg gætter på min fejl er her:
> varenr = Replace(Session("kurv"),";",",")
>
> Har jeg ret i dette, eller hvor ligger fejlen?

Jo helt bortset fra at det altid er en god ide skrive hvilken fejl man får
er der et bud her:

Du får et komma for meget på til sidst - stengen vil komme til at slutte med
komma: 1,2,3,
- og det vil give en sql fejl.
Du vil kunne se det hvis du skriver varenr ud umiddelbart efter din replace:

<%
varenr = Replace(Session("kurv"),";",",")
Response.write varenr
%>

Du fjerner kommaet med:
<%
If Len(varenr) > 0 Then ' test om der er noget i variablen før du arbejder
på den - ellers fejler en left()
varenr = Left(varenr,Len(varenr)-1)
End If
%>

Mvh
Chrisser



Daniel Valentin (27-08-2004)
Kommentar
Fra : Daniel Valentin


Dato : 27-08-04 06:46

Mange tak for dit bud!

Af en eller anden grund jeg ikke har opklaret endnu, fik jeg et komma for
meget FORAN, ikke efter! Jeg løste problemet med dette:

If Len(varenr) > 0 Then ' test om der er noget i variablen før du arbejder
'på den - ellers fejler en left()
varenr = Right(varenr,Len(varenr)-1)
End If

Jeg siger mange tak for hjælpen!

-Daniel Valentin

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

PH (29-08-2004)
Kommentar
Fra : PH


Dato : 29-08-04 16:16

> Af en eller anden grund jeg ikke har opklaret endnu, fik jeg et komma for
> meget FORAN, ikke efter!.....................snip

Du skriver først komaet og derefter varenummeret

Session("kurv") = Session("kurv") & ";" & Request.QueryString("varenummer")
------------------------------------1 ^-----------------------------2-^

Første gang er Session("kurv")=",xxxxxx"
Anden gang er Session("kurv")=",xxxxxx,yyyyyy"

--
Mvh Peter ....jobsøgende webdesigner
http://www.cgi-shop.dk/billag/html/index.html



Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408847
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste