/ Forside/ Teknologi / Udvikling / ASP / Spørgsmål
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Query påbagrund af link
Fra : KRB
Vist : 417 gange
37 point
Dato : 23-07-02 21:38

Hej Jeg har en hjemmeside der består af rammer i den ene ramme bliver der dannet nogen links på baggrund af en forespørgelse i en database. Når man klikker på et af disse link skal der hentes bestemt oplysninger frem i den anden ramme. Disse oplysninger afhænger dog af hvilket link jeg trykker på.

Så er der nogen der har et forslag til hvordan jeg kan gøre det. Jeg ønsker at det er den samme asp side der skal bruges hvergang man klikker på et link dog er det foreskellige oplysninger der skal komme frem alt efter hvilket link man klikker på.

Så hvordan gør man det og er det overhovdet muligt??

Håber der nogen der har nogen gode forslag.

 
 
Kommentar
Fra : strarup


Dato : 23-07-02 21:59

Hej Krb,

hvilken database gør du brug af? (access eller en anden)
og hvilken version af ASP?

mvh.

Strarup

Kommentar
Fra : KRB


Dato : 23-07-02 22:02

Access 2002 og asp skriver jeg i notepad og det er ikke asp.net

Kommentar
Fra : strarup


Dato : 23-07-02 22:31

eh... men er det så ASP 2.0 eller ASP 3.0?

har du opsat forbindelsen til din database?

hvilke felter/attributter gør du brug af? (evt. navne m.m. i overskrifter)

jeg prøver lige at danne mig et indtryk af hvordan du har opbygget det...

mvh.

Strarup

Kommentar
Fra : strarup


Dato : 23-07-02 22:39

hej igen,

ka' du evt. poste det du har lavet? (eller opdeling af forskellige asp sider der indgår..)
gør du evt. også brug af VB-script eller Java-script?

mvh.

Strarup

Kommentar
Fra : KRB


Dato : 23-07-02 22:41

Ok

Databasen er et billede arkiv. den har en tabel men flg. attribut værdier id, højde, bredde, filtype, beskrivelse, billede, link.

siden består af tre rammer i den øverste ramme er der links. Når man klikker på linket åbner der sig en ny side i de to andre rammer. Det jeg får i den ene ramme er lidt generelt om arkivet det jeg får i den anden ramme er en liste ovre de forskellige emner der er i arkivet. den liste blive generet ved select disticnt. Når jeg så klikker på et af disse link skal den åbne billederne fra dette emne i den ramme hvor jeg havde den generelle beskrivelse af billederne. Det første med at få dannet listen af unikke link virke fint, men det er når jeg trykker på et af linkene skal jeg have selected billederne fra netop denne værdi.

så på en eller anden måde skal jeg have værdien med ovre i den nye asp side som jeg bruger til at hente lige præcis de billeder fra det emne som brugeren har valgt.

håber det virke nogenlunde klart.

Kommentar
Fra : gandalf


Dato : 23-07-02 22:50

Hej KRB

Du bliver nødt til at refreshe siden for at få dette til at virke, med mindre du bruger en IFrame til din anden ramme. Ellers skal du til at bruge XMLhttp, og det er en længere historie.

Lad os så sige du har en tabel over personer som hver især har et unikt nummer i databasen, og i den ene ramme lister du alle personernes navne, og i den anden vil du så vise personen stamoplysninger. Dette gør du via din querystring på siden, f.eks.

<%
id = request.querystring("id")
%>

<html>
..... bla bla bla

<ramme 1>
<%
querystring = "select id,name from person"
....
while not rs.eof
response.write "<a href='thispage.asp?id=" & rd("id") & ">" & rs("person") & "</a>"
rs.movenext
wend

set rs = nothing
%>
</ramme 1>

<ramme 2>
<%
if not(id="") then
querystring="select * from person where id=" & id
....

response.write "Name = " & rs("name") & "<br>"
response.write "Phone = " & rs("phone") & "<br>"

set rs = nothing
end if
%>

</ramme 2>


Håber dette kan hjælpe dig.

Gandalf

Kommentar
Fra : gandalf


Dato : 23-07-02 22:54

rd("id") = rs("id") //Tastefejl

Kommentar
Fra : KRB


Dato : 23-07-02 22:57

Hej Gandalf
Jeg er med på det du laver i ramme 1, men ikke i ramme 2 den skal jo have ID fra ramme 1 når han klikker på linket og det ser jeg ikke lige hvordan man får i din beskrivelse eller har jeg misforstået noget???

Det er mit første forsøg i at lave noget i asp så det er måske en stor mundfuld, men det må lade sig kunne gøre på den ene eller anden måde??

Kommentar
Fra : gandalf


Dato : 23-07-02 23:04

Ja det får den også for ID har den med sig.

Det som sker er når du trykker på et link, vil siden kalde sig selv igen med det ID som linket står til, f.eks.

thispage.asp?id=13

Så vil hele siden refreshes med det nye ID som er 13, og dette nummer vil så blive opsnappet request.querystring("id"). Og dette ID bliver så brugt i rammen nr 2's querystring. Med mindre du mener ramme=frame, for hvis det er tilfældet så har vi en helt anden situation. Jeg er her gået ud fra, at ramme = table.

Gandalf


Kommentar
Fra : strarup


Dato : 23-07-02 23:05

Hej Krb,

bruger du ikke include?

f.eks. som følger... -->

<% @language=vbscript %>
<% Option Explicit %>
<!-- #include file="dbconn.asp" -->

så de evt. har et fælles bindeled....
navnet på dbconn.asp er bare et eksempel på et evt. ASP script der sørger for connectionen til databasen...

mvh.

Strarup

Kommentar
Fra : KRB


Dato : 23-07-02 23:19

Hej Gandalf

Nej med ramme mener frames og ikke tabel.

Ellers tak for det første forslag.¨



Kommentar
Fra : gandalf


Dato : 23-07-02 23:24

Okay, så skal du i stedet gøre således. Hvor du putter en target på din <a href.


<ramme 1>
.....Includes.....

<html>
..... bla bla bla

<%
querystring = "select id,name from person"
....
while not rs.eof
response.write "<a target="frame2name" href='thispage.asp?id=" & rs("id") & ">" & rs("person") & "</a>"
rs.movenext
wend

set rs = nothing
%>
</ramme 1>


<ramme 2>
.....Includes.....

<html>

<%
id = request.querystring("id")

if not(id="") then
querystring="select * from person where id=" & id
....

response.write "Name = " & rs("name") & "<br>"
response.write "Phone = " & rs("phone") & "<br>"

set rs = nothing
end if
%>

</ramme 2>

Gandalf

Kommentar
Fra : gandalf


Dato : 23-07-02 23:26

Thispage.asp = navnet på din frame2 asp side.

Kommentar
Fra : KRB


Dato : 23-07-02 23:28

Tak for hjælpen det skal jeg nok få til at virke dog er der lige ensidste ting inden der er point på vej.

Hvad er includes hvad gør den funktion og hvordan skriver man den.

Takker

Kommentar
Fra : gandalf


Dato : 23-07-02 23:37

Det strarup hentyder til, er at når man laver database forbindelse så kan man bruge <!-- #include file="dbconn.asp" --> for at gøre det nemmere for sig selv, for i den asp står der en masse konstanter som man kan bruge til at lave sin forbindelse i stedet for at skulle huske alle de forskellige numre selv. Dette kræver dog, at du har dbconn.asp liggende.

Det er ikke fordi din kode ikke vil virke uden.

En inklude fil gør det nemt at holde styr på sin kode, hvis du foreksempel har nogle funktioner du bruger meget på alle dine sider, så er det smart at putte det ud i en inklude fil, så du kun skal vedligeholde et sted.

F.eks.
*********************************
Page1.asp
<%
function test(nr)
response.write nr*10;
end function
%>

page2.asp
<!-- #include file="page1.asp" -->

<%test(10)%>

page3.asp
<!-- #include file="page1.asp" -->

<%test(10)%>

*********************************
Hvis du nu finder ud af at test funktionen skal laves om, kan du nøjes med at gøre det i page1.asp, og ikke i alle 3 eller flere sider.

Gandalf


Accepteret svar
Fra : gandalf

Modtaget 37 point
Dato : 24-07-02 11:19

???

Kommentar
Fra : Nyhedsbruger


Dato : 07-08-02 14:31

Jeg er ikke helt sikker på jeg forstår hvad du mener, men prøv noget
lignende:

dinside.asp:

<%
dim mode
mode = Request.Querystring("mode")

if mode = "side1" then
%>
side 1
<%
elseif mode = "side2" then
%>
side 2
<%
else
%>
side3
<%end if%>

Du skal bare indsætte elseif sætninger, indtil du ikke har brug for mere,
håber du kunne bruge svaret :)

// MarkJensen.dk

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP ???
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Du har følgende muligheder
Eftersom du ikke er logget ind i systemet, kan du ikke skrive et indlæg til dette spørgsmål.

Hvis du ikke allerede er registreret, kan du gratis blive medlem, ved at trykke på "Bliv medlem" ude i menuen.
Søg
Reklame
Statistik
Spørgsmål : 177425
Tips : 31962
Nyheder : 719565
Indlæg : 6407924
Brugere : 218877

Månedens bedste
Årets bedste
Sidste års bedste