webForumDet fria alternativet

Göra länkar av en "row" i en databas

ASP

13 svar · 375 visningar · startad av erka

Medlem sedan dec. 19996 522 inlägg
Frågan#1

Hej !

Jag försöker göra så att jag ska ha lite info om mina filmer jag har på köpvideo och har 4 fält i min databas, det ena är namn, sen kommer, genre, recension, regi. nu så anropar jag först ena rowen i tabellen och visar innehållet i den. Men hur gör man om man vill att varje film ska bli en länk och när man trycker på den ska en liten standard sida skrivas med alla fält?

MVH. Erik

Medlem sedan dec. 19998 577 inlägg
#2

Hej!

...skall se om jag förstått dig rätt!

Lättast är nog om du lägger in allt i en loop, och sen gör en standardlänk med namnet i adressfältet till ett dokument som ser olikt ut beroende på vilket namn du skickade med...en lite mer praktiskt syn:

En loop...RS = ditt recordset:

<%
Do While NOT RS.EOF
'här lägger du länken!
%>
<a href=standarddokument.asp?namn=<%=RS("namn")%>>
<%
RS.MoveNext
Loop
%>

...sen hämtar du ned variabeln i adressfältet på ditt andra dokument:

<%
namn = Request.Querystring("namn")
%>

Så!... nu ligger variabeln du skickade med i namn... Och så hämtar vi resten av infott:

<%
SQL = "select * from tabell where namn = " & namn
Set RS2 = Databas.Execute(SQL)
%>

...nu är det bara att hämta vilket fält du vill i RS2.

Är detta vad du sökte eller är jag helt ute och cycklar? ... notera att jag gjorde denna kod på rak arm så det kan förekomma fel...

------------------
MVH / Vide
Min hemsida:vide.ods.org

Medlem sedan dec. 19991 749 inlägg
#3

Lägg till ett räknar fält som du kallar för id. Plocka ut id och namnet på filmen gör en länk i stilen visafilm.asp?id="&id&" I visafilm.asp så plockar du ner id och gör en selectsats SELECT * FROM filmer WHERE id="&id&"

Vill du ha inspiration så titta på min skivdatabas http://www.nanne.net/skivor

------------------
Daniel Olsson - Teknisk Internetkonsult
<A HREF="http://www.nanne.net" TARGET=_blank>http://www.nanne.net]

/N

</A>

Medlem sedan dec. 19996 522 inlägg
#4

Ska pröva nu, tack för hjälpen hitills. Det är exakt typ som din skivsamlings databas..Föresten har du ju rätt hyffsad musiksmak...

Medlem sedan dec. 19996 522 inlägg
#5

Hejsan, nu har jag följande rader på min index.asp sida..

<%
Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open "driver={Microsoft Access Driver(*.mdb)};dbq=d:\inetpub\wwwroot\video\video.mdb"
SQLStmt = "SELECT * FROM video"
Set RS = Connection.Execute(SQLStmt)
%>

<% Do until RS.EOF %>
<br>
<a href="film.asp?namn=<%=RS("id")%>"><%=RS("namn")%></a>
<%
RS.MoveNext
Loop
RS.Close
Connection.Close
%>

Nu får jag upp alla filer jag har i namn fältet i min databas, men hur fan ska jag göra för att å med mig det på nästa sida, prövade det ni skrev innan men det funderade inte.

jag har id, namn, regi, resc i min databas som fält. På första sidan ska jag ju bara visa namnet och sen när man trycker på den ska det komma upp på den nya sidan som jag angett (film.asp), jag förstår att det är något att jag måste ange RS2, någonstanns på film.asp men jag får det inte att fungera..på den sidan ska jag sedan visa namn, regi och resc...SNÄLLA hjälp, mycket tacksam för hjälp

Medlem sedan dec. 19998 577 inlägg
#6

Hejsan!

...antingen kan du lägga in allt i Sessioner på första sidan... eller så skickar du med namn-variabeln till nästa sida och hämtar resten av datat där... på andra sidan skriver du:

SQL = "select * from tabell where namn = " & Request.Querystring("namn")
Set RS = Databas.Execute(SQL)

Du behöver alltså inget nytt recordset på den nya sidan... nu hämtade jag datat utifrån namnet som du skickar med från förra sidan med det går ju lika bra (eller snarare bättre) med ID.

------------------
MVH / Vide
Min hemsida:vide.ods.org

Medlem sedan dec. 19996 522 inlägg
#7

Nu har jag fan mig prövat allt, försökt med session och inte något har fungerat..rycker mig ihåret lite till...Finns det någon som kan skriva exakt vad som jag har gjort fel och vad som ska bytas ut ör att det ska fungera..SNÄLLA...Jag är villigt att betala lite för det...Som det är nu radar han upp alla filmer, men han sparar inte något så det blir alltid första filmens fakta som kommer upp...

Här är första sidan som man kommer till
<%
Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open "driver={Microsoft Access Driver (*.mdb)};dbq=d:\inetpub\wwwroot\filmer\filmer.mdb"
SQLStmt = "SELECT * FROM filmer"
Set RS = Connection.Execute(SQLStmt)
%>
<html>
<head>
<title>Filmlista</title>

<% Do until RS.EOF %>
<br>
<a href="filmer.asp?namn=<%=RS("namn")%>"><%=RS("namn")%></a>
<%
RS.MoveNext
Loop
RS.Close
Connection.Close
%>
</body>
</html>

Här är andra..
<%
Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open "driver={Microsoft Access Driver (*.mdb)};dbq=d:\inetpub\wwwroot\filmer\filmer.mdb"

SQLStmt = "SELECT \* FROM filmer"
Set RS = Connection.Execute(SQLStmt)

SQL = "select \* from filmer"
Set RS2 = Connection.Execute(SQLStmt)

%>
<html>
<head>
<title>Filmen</title>
</head>
<br>
<%=RS("namn")%>
<br>
<%=RS("regi")%>
<br>
<%=RS("resc")%>
</body>
</html>

Om någon kunde ändra på dessa filer så att det fungerar..eller något i den stilen...Jag har nog rört ihop det med rs och rs2 osv för jag har ju 3 fält som ska visas, namn, regi, resc ...Hjälp..**snyftar väldigt mycket**

Medlem sedan dec. 19998 577 inlägg
#8

Hejsan!

testa detta: (på Andra sidan)

<%
Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open "driver={Microsoft Access Driver (*.mdb)};dbq=d:\inetpub\wwwroot\filmer\filmer.mdb"

namn = Request.Querystring("namn")

SQLStmt = "SELECT * FROM filmer"
SQLStmt = SQLStmt & " where namn = '" & namn & "'"
Set RS = Connection.Execute(SQLStmt)
%>
<html>
<head>
<title>Filmen</title>
</head> 
<body>
<br>
<%=RS("namn")%> 
<br>
<%=RS("regi")%> 
<br>
<%=RS("resc")%> 
</body>
</html>

...problemet med denna kod är att du får aldrig har samma namn, då kommer det att bli fel...

------------------
MVH / Vide
Min hemsida:vide.ods.org

[Redigerat av Vide den 03 feb 2000]

[Redigerat av Vide den 03 feb 2000]

Medlem sedan dec. 19996 522 inlägg
#9

Tack, ni två är de som är bäst...HYLLNINGAR TILL ER !! Tack tack och åter tack igen..
fått det att fungera bra nu !

underbart !

Medlem sedan aug. 20002 272 inlägg
#10

Jag har gjort likadant fast jag får följande felmeddelande:

Feltyp:
ADODB.Field (0x80020009)
Antingen är BOF eller EOF satt till True, eller så har aktuell post raderats. Den begärda åtgärden kräver en aktuell post.
mall1.asp

------------------

Vad gör Göran då, vad gör Göran då?

E-post

Medlem sedan dec. 19998 577 inlägg
#11

Oj, det var ett gammalt inlägg... :)

OK, gör såhär istället:

<%
Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open "driver={Microsoft Access Driver (*.mdb)};dbq=d:\inetpub\wwwroot\filmer\filmer.mdb"
namn = Request.Querystring("namn")

SQLStmt = "SELECT * FROM filmer"
SQLStmt = SQLStmt & " where namn = '" & namn & "'"
Set RS = Connection.Execute(SQLStmt)
%>
<html>
<head>
<title>Filmen</title>
</head> 
<body>
<%If RS.EOF then%>
Inget här...
<%Else%>
<br>
<%=RS("namn")%> 
<br>
<%=RS("regi")%> 
<br>
<%=RS("resc")%> 
<%End If%>
</body>
</html>

------------------
It's now safe to turn your computor to the left.
Kom hem till mig...

Medlem sedan aug. 20002 272 inlägg
#12

Hrm, jo det funka bra, men det står "inget här.." fast att det SKA finnas där... :)

Här kommer koden på mina sidor...

test.asp

<%@ Language=VBScript %>
<% Option Explicit %>
<!-- #include file="adovbs.inc" -->
<%
  Dim objConn
  Set objConn = Server.CreateObject("ADODB.Connection")
  objConn.ConnectionString = "DRIVER={Microsoft Access Driver (*.mdb)};" &_
  		"DBQ=" & Server.MapPath("NYAST.mdb")
  objConn.Open

  Dim strSQL
  strSQL = "SELECT * from Foretag"

  Dim objRS
  Set objRS = Server.CreateObject("ADODB.Recordset")
  objRS.Open strSQL, objConn

  Response.Write "<b>En lista över våra företag:</b><p>"
%>
<html>
<head>
<title>
test
</title>
</head>
<body>
<table border="1">
<%
  Do UNTIL objRS.EOF
%>

     <tr>
     <td width="250" height="20"><%= objRS("Foretag")%>, <%= objRS("Telefon")%></td>
     <td width="250" height="20"><a href="mall1.asp?Id=<%=objRS("Id")%>">Mer info</a></td>
     </tr>
<%
     objRS.MoveNext
  Loop
%>
</table>
<%
  objRS.Close
  Set objRS = Nothing

  objConn.Close
  Set objConn = Nothing
%>
</body>
</html>

---------------------------------

mall1.asp

<!--#include file="adovbs.inc" -->
<%
Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open "driver={Microsoft Access Driver (*.mdb)};dbq=d:\borasarn\foretagsregister\NYAST.mdb"

Dim Id
Id = Request.Querystring("Id")

strSQL = "SELECT * FROM Foretag"
strSQL = strSQL & " where Foretag = '" & Id & "'"
Set objRS = Connection.Execute(strSQL)
%>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" href="../stilmallar/stilmall.css" type="text/css">
</head>
<body bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" link="#000000" vlink="#666666" alink="#CC0033" text="#000000">

<%If objRS.EOF then%>
Inget här...
<%Else%>

<table border="2" bordercolordark="#000000" bordercolorlight="#000000" align="left" cellpadding="0" cellspacing="2" width="751">
  <tr valign="top" align="center"> 
    <td>
      <table border="0" width="740" cellspacing="0" cellpadding="0">
        <tr> 
          <td colspan="6"> 
            <table width="740" border="0" cellspacing="0" cellpadding="0">
                <tr> 
                  <td width="452" align="right" valign="bottom">
                    
                  </td>
                  <td valign="top" align="right" width="308"></td>
                </tr>
              </table>
              <h2><%=objRS("Foretag")%></h2></div>
          </td>
        </tr>
        <tr valign="top"> 
          <td colspan="6" height="98"> 
            <table width="740" border="0" cellspacing="2" cellpadding="2">
              <tr bgcolor="#C6CDD5"> 
                <td width="229" height="113" valign="middle"><b>Adress:</b> 
                  <br>
                  <%=objRS("Adress")%><br>
                  <%=objRS("Postadress")%> <%=objRS("Postnummer")%><br>
                   </td>
                <td width="345" valign="middle" height="113" bgcolor="#C6CDD5"><b>Karta:</b>&nbsp;<br>
                  <b>E-post:</b> <br>
                  <b>Hemsidan:</b> </td>
                <td width="166" height="113" valign="middle"><b>Telefon:</b> 033-<%=objRS("Telefon")%><br>
                  <b>Fax:</b> 033-<%=objRS("Fax")%></td>
              </tr>
            </table><%End If%>
            
          </td>
        </tr>
        <tr bgcolor="#FFFFFF" valign="top" align="center"> 
          <td colspan="6" height="159"> 
            <div align="center"><br>
            </div>
            <br>
            </td>
        </tr>
      </table>
      <table width="740" border="0" cellspacing="0" cellpadding="0">
        <tr align="center"> 
          <td bgcolor="#003366"><font color="#FFFFFF</font></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
</body>
</html>

Jag misstänker att det är något fel med:

Dim Id
Id = Request.Querystring("Id")

strSQL = "SELECT * FROM Foretag"
strSQL = strSQL & " where Foretag = '" & Id & "'"
Set objRS = Connection.Execute(strSQL)

Tack på förhand...

------------------

Vad gör Göran då, vad gör Göran då?

E-post

Medlem sedan aug. 20002 272 inlägg
#13

Jag löste det iaf... :)

------------------

Vad gör Göran då, vad gör Göran då?

E-post

Medlem sedan dec. 19998 577 inlägg
#14

Vad var det för fel då :q

*intresserad*

Mvh, Vide

------------------
It's now safe to turn your computor to the left.
Kom hem till mig...

268 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
128 ms — deklarationer (db)
0 ms — hämta statistik (cache)
137 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)