webForumDet fria alternativet

Nu har jag kört fast! Har med querystrings att göra..

ASP

28 svar · 519 visningar · startad av Gardell

Medlem sedan juli 2002688 inlägg
Frågan#1

Jag gör ett script till min filmsida!

Planeringen är att det ska komma upp en länk, när man trycker på länken ska det visas!

Länken har jag länkat till filmsajten.asp?film=<%=rs("id")%>!

Där jag fastnade var hur querystringen ska se ut om man vill visa ett speciellt id utan att veta vilket!

Hur blir detta? :q

Medlem sedan juni 200032 967 inlägg
#2

Uhm, om du ska visa ett speciellt ID, så måste du väl veta vilket det speciella ID:t är?

Annars förstår jag inte alls frågan.

Medlem sedan jan. 20013 406 inlägg
#3

Fattar ingenting!

Din kodsnutt ser dock okej ut

filmsajten.asp?film=<%=rs("id")%>
Medlem sedan maj 20018 027 inlägg
#4

När du frågar efter filmerna för att bygga upp dina länkar, får du väl fråga om id också, typ:

select id, namn from filmer

Sedan har du id för varje film och kan då bygga upp dina länkar med det.

Medlem sedan juli 2002688 inlägg
#5

Men!

Jag använder mig utav Access då!
Och jag har en admin sida som lägger till i databasen!

Sedan kommer det upp hela tiden nya länkar på en sida!

Men nu kommer problemet!
Jag hade tänkt mig att kunna länka till id:et i den strängen, alltså blir länken så här: filmsajten.asp?film=<%=rs("id")%>!
När länken är klar ser det ut så här (exempel): filmsajten.asp?film=3

Men hur ska Querystringen där id3 visas se ut?
Det kan ju inte bara vara en orginal query! ( <% If Request.QueryString("film") = "3" Then %> )

För den ska ju alltså funka för alla id's i hela databasen! Den ska alltså inte ha nå "förbestämt", utan den ska bara visa det id ur databasen man frågar efter!

Hoppas du fattar!

(MYCKET svårt att förklara)

Medlem sedan juli 2002688 inlägg
#6

UlfT skrev:

När du frågar efter filmerna för att bygga upp dina länkar, får du väl fråga om id också, typ:

select id, namn from filmer

Sedan har du id för varje film och kan då bygga upp dina länkar med det.

Länkarna funkar redan! Det är visningen problemet ligger i!

Medlem sedan maj 20018 027 inlägg
#7

"select film from filmer where id=" & request.querystring("film")

Medlem sedan juli 2002688 inlägg
#8

UlfT skrev:

"select film from filmer where id=" & request.querystring("film")

Hmm, fattar inte.. :(

Det blev bara:

Kompileringsfel i Microsoft VBScript (0x800A0400)
Programsats förväntas.

Medlem sedan mars 20023 561 inlägg
#9

Visa lite mer kod...

Medlem sedan juli 2002688 inlägg
#10

Nu gjorde jag querystringen så här:

<% If Request.QueryString("select recension from filmer where id=") & request.querystring("id") Then %>

Men då blev det:
Inkompatibla typer: '[string: ""]'

Medlem sedan feb. 200112 078 inlägg
#11

Nu vill jag att du postar all relevant kod.

Tyvärr måste jag säga att jag tycker att din kod ser så långt ifrån lösningen ut som möjligt. ;)

Medlem sedan juli 2002688 inlägg
#12

OveRRidE skrev:

Nu vill jag att du postar all relevant kod.

Tyvärr måste jag säga att jag tycker att din kod ser så långt ifrån lösningen ut som möjligt. ;)

Hehe, kunde nästan förstå det!

<!--#include file="adovbs.inc" -->
<%

Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("filmer.mdb")&";"

Set RecSet = Server.CreateObject("ADODB.Recordset")

Addera = "SELECT \* FROM film ORDER BY id DESC" 

RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic

%>

\<% If request.querystring("select recension from film where id=") Then %\>
\<% recension %\>

\<% Else %\>
annat
\<% End If %\>
Medlem sedan feb. 20022 594 inlägg
#13
<%
Set Connect = Server.CreateObject("ADODB.Connection") 
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("filmer.mdb")&";" 

If len(Request.QueryString("film")) = 0 Then
strSQL = "SELECT * FROM film ORDER BY id DESC" 
Else
strSQL = "SELECT * FROM film WHERE id = "& Request.QueryString("film") 
End if

Set objRS = Connect.Execute(strSQL)

Response.Write objRS("strFilmTitel")
%>
Medlem sedan juli 2002688 inlägg
#14

Ekström skrev:

<%
Set Connect = Server.CreateObject("ADODB.Connection") 
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("filmer.mdb")&";" 

If len(Request.QueryString("film")) = 0 Then
strSQL = "SELECT * FROM film ORDER BY id DESC" 
Else
strSQL = "SELECT * FROM film WHERE id = "& Request.QueryString("film") 
End if

Set objRS = Connect.Execute(strSQL)

Response.Write objRS("strFilmTitel")
%>

:D

Blev ju inget bättre.. När jag trycker på länkarna som exempelvis är då filmsajten.asp?film=145

Så visar den ju ändå inte 145.. , den visar inget då.. :(

Medlem sedan feb. 20022 594 inlägg
#15

Har du ändrat så att fälten har fått sina riktiga namn, då?

Medlem sedan maj 20018 027 inlägg
#16

Gardell skrev:

Ekström skrev:

<%
Set Connect = Server.CreateObject("ADODB.Connection") 
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("filmer.mdb")&";" 

If len(Request.QueryString("film")) = 0 Then
strSQL = "SELECT * FROM film ORDER BY id DESC" 
Else
strSQL = "SELECT * FROM film WHERE id = "& Request.QueryString("film") 
End if

Set objRS = Connect.Execute(strSQL)

Response.Write objRS("strFilmTitel")
%>

:D

Blev ju inget bättre.. När jag trycker på länkarna som exempelvis är då filmsajten.asp?film=145

Så visar den ju ändå inte 145.. , den visar inget då.. :(

Angående mitt förslag, jag tänkte mig det som en sträng som ska användas för att öppna ett recordset, precis som Ekström gör.

Angående Ekströms förslag, du kanske måste modifiera det en aning. Jag ser i din kod att du är ute efter kolumnen "recension". Det är inte den kolumnen som Ekströms förslag ger. Men det är ju bara att ändra kolumnnamn i sista "response.write-satsen.

Medlem sedan jan. 20022 440 inlägg
#17

;) Var nog ingen som trodde du var så ny på ASP.

Såhär gör du:

[b]Sida: filmer.asp[/b]

<!--#include file="adovbs.inc" --> 
<% 

Set Connect = Server.CreateObject("ADODB.Connection") 
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("filmer.mdb")&";" 

Set RecSet = Server.CreateObject("ADODB.Recordset") 

Addera = "SELECT * FROM film ORDER BY id DESC" 

RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic 

Do while not RecSet.eof
response.write "<a href=filmer_recension.asp?film=" & RecSet("id") & ">" & RecSet("FilmTitel") & "</a>"
RecSet.movenext
loop

RecSet.Close
Set RecSet = Nothing
Conn.Close
Set Conn = Nothing

Sedan får du ju göra en sidan som då plockar ut recensionen den kan se ut ungefär såhär:

[b]Sida: film_recension.asp[/b]

<!--#include file="adovbs.inc" --> 
<% 

Set Connect = Server.CreateObject("ADODB.Connection") 
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("filmer.mdb")&";" 

Set RecSet = Server.CreateObject("ADODB.Recordset") 

Recension = "SELECT * FROM film WHERE id = Request.Querystring("id") 

RecSet.Open Recension, Connect, adOpenStatic, adLockOptimistic 

Response.Write "<h1>" & RecSet("FilmTitel") & "</h1><br><br>"
Response.Write RecSet("Recension")

RecSet.Close
Set RecSet = Nothing
Conn.Close
Set Conn = Nothing
Medlem sedan juli 2002688 inlägg
#18

CatZ skrev:

;) Var nog ingen som trodde du var så ny på ASP.

Skulle nån tro att jag va bra eller? :q

Angående din kod så blev det:

Slut på programsats förväntas.

Medlem sedan juli 2002688 inlägg
#19

:e :e :e

Fick igång det med Ekströms kod nu!

Tack alla som hjälpt mig!

Och, jag är självlärd på ASP, jag har studerat andras script.. Men nått sånt här hade jag aldrig gjort förut, därför blev det som det blev!

:bire

Medlem sedan juli 2002688 inlägg
#20

Bah!

<%
Set Connect = Server.CreateObject("ADODB.Connection") 
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("filmer.mdb")&";" 

If len(Request.QueryString("film")) = 0 Then
strSQL = "SELECT * FROM film ORDER BY id DESC" 
Else
strSQL = "SELECT * FROM film WHERE id = "& Request.QueryString("film")
End if

Set objRS = Connect.Execute(strSQL)

Response.Write objRS("Recension")
%>

Det blev ju rätt då! Men när den inte frågar efter nått vill jag ha en massa text där istället? Hur får jag dit den?

315 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
188 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)