Avatar billede annettef Nybegynder
02. august 2004 - 11:51 Der er 14 kommentarer og
2 løsninger

Hente et id fra et link og vise tilhørende poster fra db??

Hej

Jeg har en database med varer. Når man klikker på en vare i en vareoversigt skal man sendes til en ny side hvor oplysninger om den valgte varer vises.

Min vareoversigt ser ud på følgende måde:
----------
Response.Write "<td align='center' valign='top'><a href='vis_varer.asp?intVareId=" & rs("vareid") & "'><img src=""" & rs("foto1") & """ border='0'><br>"
        Response.Write rs("titel") & "<br>"
        Response.Write "Kr.&nbsp;" & rs("pris") & ",-</a></td>"
        column = column + 1 'lægger en til tælleren
       
     
        RS.MoveNext
    Loop
----------

Hvad gør jeg på næste side for at vise netop den valgte varer? Oplysningerne skal hentes fra databasen ud fra det vareid som står i linket (når musen føres over).

Jeg har forsøgt med følgende, men det giver bare en blank side.
----------
vareID = Request.Querystring("intVareID")

' SQL forespørgsel
strSQL = "Select * From vare Where vareid =" & vareID

' Udfør strSQL (rs kommer til at indeholde dataen)
Set rs = Conn.Execute(strSQL)

Response.Write rs("titel")
-----------

Hvad gør jeg forkert? Håber der er nogen der kan hjælpe....

/Annette
Avatar billede dragox Nybegynder
02. august 2004 - 12:03 #1
rs betyder at du prøvet at skrive i din database /så vidt jeg mener.

er det meningen?
Avatar billede annettef Nybegynder
02. august 2004 - 12:28 #2
Det er ikke meningen at jeg skal skrive i min database. Jeg skal hente noget fra databasen.

Jeg mener at rs (recordset) er det som indeholder de informationer jeg henter fra databasen.

Men måske tager jeg fejl. Hvis det er tilfældet, hvordan skal min kode så se ud, hvis ikke jeg skal skrive i min database, men hente noget i stedet for???
Avatar billede nidyahou Praktikant
02. august 2004 - 13:37 #3
rs, er ganske brugbart, de fleste skriver det bare som ObjRs, jeg selv skriver også rs
Avatar billede nidyahou Praktikant
02. august 2004 - 13:40 #4
Problemet er ganske enkelt:
vareID = Request.Querystring("intVareID")
ændres til
vareID = Request.Querystring("intVareId")
da du jo har kaldt den intVareId og ikke intVareID i din querystring
Avatar billede nidyahou Praktikant
02. august 2004 - 14:00 #5
jeg tager muligvis fejl...
Avatar billede annettef Nybegynder
02. august 2004 - 14:02 #6
Ja, se sig blind på en tekst kan man jo altid....

Nu har jeg ændret den lille (men meget dumme) fejl jeg havde lavet, men jeg får stadig kun en blank side frem, når jeg klikker på en vare.
Avatar billede phineas_phreak Nybegynder
02. august 2004 - 15:33 #7
<%
' connection til db
SQL = "SELECT * FROM vare WHERE vareid = " & Request("id")
Conn.Execute (SQL)
Set rs = conn.Execute(SQL)
%>

så udskriver vi:
<%= rs("titel") %>

er dette ikke nok ?
Avatar billede annettef Nybegynder
02. august 2004 - 16:02 #8
Har lige prøvet det - virker heller ikke, desværre.

Det er som om at intVareId ikke bliver sendt med videre til den nye side når man klikket på linket på varerne.
Avatar billede phineas_phreak Nybegynder
02. august 2004 - 16:16 #9
så vil jeg også tro som nidyahou gør at det er en variabel fejl. er du sikker på at variabel navnene stemmer overens på vareoversigt.asp og den side du vil ha oplysninger fra ?
Avatar billede phineas_phreak Nybegynder
02. august 2004 - 16:24 #10
og hvis jeg lige skal skrive mit eksempel korrekt:

' connection til db
SQL = "SELECT * FROM vare WHERE vareid = " & Request("intvareID")
Conn.Execute (SQL)
Set rs = conn.Execute(SQL)

du er sikker på dette ikke virker ?


hvad er typen på din kolonne der hedder vareid ? går udfra det er autonummerering, men hvis det er tekst skal du huske '' omkring. Dog ville jeg mene du ville få fejlmeddeling om at typerne ikke stemmer overens, så jeg tror mere på det med variablerne
Avatar billede annettef Nybegynder
02. august 2004 - 16:29 #11
Jubiii, jeg har fået det til at virke.

Jeg opdagede at jeg havde et stykke kode, fra et af mine mange forsøg, som jeg havde glemt at slette.

Mange tak for hjælpen - læg et svar så kan I dele point, for jeg fandt trods alt fejlen da jeg tjekkede mine variabler.
Avatar billede nidyahou Praktikant
02. august 2004 - 16:31 #12
men hvordan ser querystringen ud når du når til den nye side, får du ID'et med?
Avatar billede nidyahou Praktikant
02. august 2004 - 16:32 #13
behold pointene, du løste selv :)
Avatar billede annettef Nybegynder
02. august 2004 - 16:36 #14
Id'et kommer ikke til at stå i adresselinien - men det må jo komme med over alligevel, for ellers kan den rigtige varer jo ikke blive valgt ud...jeg ved det ikke helt.

prøv at gå ind på www.ferslev.com/datronic/designny, klik på netbutik, klik på bærbare og så klik på en af varerne, så kan du se hvad jeg mener med at id'et ikke står i adresselinien.
Avatar billede phineas_phreak Nybegynder
02. august 2004 - 17:35 #15
Grunden til at du ikke kan se IDet i adresselinjen er fordi du kalder din nye side i en iframe. Du kan jo også se at den linker godt nok ved at køre musen over linket og på destinationen på proceslinjen.

men godt at du fik det til at virke
Avatar billede annettef Nybegynder
12. august 2004 - 10:07 #16
Lukker spørgsmålet
/Annette
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