Avatar billede ponyboye Nybegynder
19. april 2004 - 17:37 Der er 12 kommentarer og
1 løsning

lave link og id af udtræk fra database

jeg har en menu som jeg kalder ud fra tabel "kategorier" denne tabel indeholder id, hojtidnavn, hojtidid
Jeg kalder så hojtidnavn ud og giver den en id.

Det er så på næste menu jeg får nogle problemer.
Her henter jeg fra en anden tabel "opskrifter" denne indeholder id, navn, beskrivelse, kategoriid, hojtidid samt andre infomationer til visning af opskrifterne.

Nu er det så jeg skal have id fra menuen til at hente opskrifterne med denne id og lave et link til opskriften sådanne at navnet på opskriften bliver linket.

jeg ved bare ikke hvordan jeg får den til at huske den rigtige højtid og id på opskriften den skal hente. Det er jo 3 led den skal igemmen og for ikke at komme til at lave en ny side for hver højtid jeg lave vil det være smart at have det på en side eller tre sider.

Håber der er nogle der vil hjælpe mig lidt med dette.


Kategorier:

<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("opskriftdata.mdb")
Conn.Open DSN

strSQL = "Select * From kategorier Order By hojtid"

Set rs = Conn.Execute(strSQL)

  Do
  strNavn = rs("hojtidnavn")

  strLink = "<a href='visopskrift.asp?id=" & rs("hojtid") & "'>" & strNavn & "</a>"

Response.Write "<li>" & strLink & "</li>"


rs.MoveNext
Loop While Not rs.EOF

Conn.Close
Set Conn = Nothing
%>
Avatar billede ponyboye Nybegynder
19. april 2004 - 17:38 #1
jeg håber i forstår det jeg har skrevet ellers mu i bare spørge
Avatar billede websam Nybegynder
19. april 2004 - 18:52 #2
Så laver du på den side der skal vise din opskrifter denne forspørgelse :

strSQL = "Select * From opskrifter Where hojtid = "&Request.Querystring("id")&""
Set rs = Conn.Execute(strSQL)

Nu har du fundet det i databasen der svare til din id fra linket og kan udskrive indholdet fra databasen.

/Websam
Avatar billede ponyboye Nybegynder
19. april 2004 - 19:00 #3
okay er det så også det samme hvis der skal være en side mere? fx. kategori - opskrift liste - selve opskriften
Avatar billede ponyboye Nybegynder
19. april 2004 - 19:02 #4
så i kategorier udskriver den link og i opskrift listen udskriver den lig og i selve opskriften alle dataerne
Avatar billede websam Nybegynder
19. april 2004 - 19:06 #5
Ja du trækker bare din id med over på næste side på samm måde som du gør med denne :

strLink = "<a href='visopskrift.asp?id=" & rs("hojtid") & "'>" & strNavn & "</a>"

Så skulle det ikke give nogle problemer :o)

/Websam
Avatar billede ponyboye Nybegynder
19. april 2004 - 19:07 #6
jeg får denne fejl: Microsoft VBScript compilation error '800a03fb'

Microsoft OLE DB Provider for ODBC Drivers error '80040e07'

[Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression.

/opskrifter/visopskrift.asp, line 10


strSQL = "Select * From opskrifter Where hojtid = "&Request.Querystring("id")&""
Set rs = Conn.Execute(strSQL)

  Do
  strNavn = rs("navn")

  strLink = "<a href='visopskrift.asp?id=" & rs("navn") & "'>" & strNavn & "</a>"

  Response.Write "<li>" & strLink & "</li>"


rs.MoveNext
Loop While Not rs.EOF

Conn.Close
Set Conn = Nothing


Line 10 er: Set rs = Conn.Execute(strSQL)
Avatar billede stoffer Nybegynder
19. april 2004 - 19:21 #7
Ifølge det du skrev øverst oppe har du vist bare stavet forkert til: hojtidid


strSQL = "Select * From opskrifter Where hojtid = "&Request.Querystring("id")&""

skal være:

strSQL = "Select * From opskrifter Where hojtidid = "&Request.Querystring("id")&""
Avatar billede ponyboye Nybegynder
19. april 2004 - 19:27 #8
den fejl hvade jeg set og fik det ændret til hojtid
Avatar billede ponyboye Nybegynder
19. april 2004 - 19:30 #9
Koden ser sådanne ud nu:


strSQL = "Select * From opskrifter Where hojtid = "&Request.Querystring("id")&""
Set rs = Conn.Execute(strSQL)

  Do
  strNavn = rs("navn")

  strLink = "<a href='visopskrift.asp?id=" & rs("hojtid") & "'>" & strNavn & "</a>"

  Response.Write "<li>" & strLink & "</li>"


rs.MoveNext
Loop While Not rs.EOF

Conn.Close
Set Conn = Nothing
Avatar billede websam Nybegynder
19. april 2004 - 19:31 #10
Prøv lige at sætte '  ' omkring din Request.Querystring("id") :

strSQL = "Select * From opskrifter Where hojtid = '"&Request.Querystring("id")&"'"

Og sikre at dit felt "hojtid" er af typen tal

/Websam
Avatar billede stoffer Nybegynder
19. april 2004 - 19:31 #11
er fejlen der stadig så eller hvad?

Navnet "hojtid" ville så foranledige mig til at tro at der her er tale om et tekst felt..eller at din querystring ikke kommer med...
Avatar billede ponyboye Nybegynder
19. april 2004 - 19:58 #12
der manglet '  ' omkring din Request.Querystring("id")og tak for hjælpen. det var websam der kom med løsningen. men tak til jer begge
Avatar billede websam Nybegynder
19. april 2004 - 20:04 #13
Jeg vil anbefale dig at ændre dit hojtid i databasen til et talfelt og så slette de 2 '  ' omkring Request.Querystring("id")

Og det var så lidt :o)

/Websam
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