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.
28 svar · 519 visningar · startad av Gardell
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
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.
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.
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)
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 filmerSedan 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!
"select film from filmer where id=" & request.querystring("film")
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.
Visa lite mer kod...
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: ""]'
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. ;)
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 %\>
<%
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")
%>
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å.. :(
Har du ändrat så att fälten har fått sina riktiga namn, då?
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.
;) 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
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.
: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
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?