/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
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
3 Drop Down Bokse
Fra : AHR


Dato : 04-12-02 11:38

Hej

Jeg er ved at lave et booking system til en biograf.

Jeg har en tabel kaldet Forrestilling. Den indeholder:

Titel
Dato
Tid

Det er meningen at man via en drop down boks vælger en titel, en anden boks
vælger en dato afhængigt af titlen og til sidst vælges et tidspunkt
afhængigt af titlen og datoen.

Lad os blot se på de to første "kun uddrag af koden er medtaget":

Drop Down Boks "Titel"
-------------------------

valgtRating = Request.Querystring("rating")

strSQL = "Select Titel from Forrestilling order by Titel"

Do While Not rs.EOF
%>
<option selected = "selected"><%Response.Write
rs("Titel")%></option>
<%

Drop Down Boks "Dato"
-------------------------

valgtRating1 = Request.Querystring("rating")

strSQL = "Select Dato from Forrestilling where Titel =" &
Request.form("Titel")

Do While Not rs.EOF
%>
<option selected = "selected"><%Response.Write
rs("dato")%></option>
<%

Dette virker dog ikke. Jeg er meget i tvivl angående hvordan jeg får fat i
værdien af tittel drop down boksen og sat den sammen med min sql sætning.
Dette er nok ikke rigtigt "strSQL = "Select Dato from Forrestilling where
Titel =" & Request.form("Titel")"

Nogen der har en løsning

Tak
AHR






 
 
Jens Gyldenkærne Cla~ (04-12-2002)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 04-12-02 12:02

AHR skrev:


> Do While Not rs.EOF
> %>
> <option selected =
> "selected"><%Response.Write
> rs("Titel")%></option>

Her sætter du alle elementer som selected. Er det meningen? Hvis én
værdi skal være valgt skriver du:

<%

' Før do-løkken
Dim myTitel
myTitel = Request.QueryString("Titel")
%>

' I do-løkken
   <option <% IF rs("Titel") = myTitel Then
%>selected="selected"<% End If %>><%= rs("titel") %></option>



> valgtRating1 = Request.Querystring("rating")
>
> strSQL = "Select Dato from Forrestilling where Titel =" &
> Request.form("Titel")

Der skal anførselstegn om strengværdier. Samtidig er det en god idé
at sikre sig mod fejl forårsaget af anførselstegn inde i strengen:

Dim titel
titel = Request.QueryString("titel") & ""
titel = Replace(titel, "'", "''")
strSQL = "Select Dato from Forrestilling where Titel ='" &
   titel & "'"


> <option selected =
> "selected"><%Response.Write
> rs("dato")%></option>

Samme indvending som første select - du skal indsætte en if-sætning
for kun at vælge den rigtige boks. Hvis der ikke er nogen titel er
der egentlig ikke nogen grund til at spørge efter datoer - det kan
du også sørge for med et if-kriterium.


> = "Select Dato from Forrestilling where Titel =" &
> Request.form("Titel")"

Som nævnt før mangler der anførselstegn.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

AHR (04-12-2002)
Kommentar
Fra : AHR


Dato : 04-12-02 12:36

Ok, tak. Det hjælper lidt. Nu får jeg da en drop down boks mere, men der er
ingen data i, hvorfor. DVS. at i min 1. boks vises der filmene, men i min 2.
boks kommer datoen ikke i.

Tak
AHR
----------------------------------------------------------------------------
----------------
<select name = "rating">
<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("/bio/db/bio.mdb")
Conn.Open DSN

strSQL = "Select Titel from Forrestilling order by Titel"

Set rs = Conn.Execute(strSQL)

Dim myTitel
myTitel = Request.QueryString("Titel")

Do While Not rs.EOF
%>

<option <% IF rs("Titel") = myTitel Then %>selected="selected"<% End If
%>><%= rs("titel") %></option>

<%

rs.MoveNext

Loop
%>
</select>

<select name = "rating">
<%
Dim titel
titel = Request.QueryString("titel") & ""
titel = Replace(titel, "'", "''")

strSQL = "Select Dato from Forrestilling where Titel ='" & titel & "'"

Set rs = Conn.Execute(strSQL)

Do While Not rs.EOF
%>

<option <% IF rs("Dato") = myTitel Then %>selected="selected"<% End If
%>><%= rs("Dato") %></option>

<%

rs.MoveNext

Loop

%>
</select>

<%
' Luk databaseforbindelse
Conn.Close
Set Conn = Nothing
%>



Jens Gyldenkærne Cla~ (04-12-2002)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 04-12-02 12:46

AHR skrev:

> Ok, tak. Det hjælper lidt. Nu får jeg da en drop down boks
> mere, men der er ingen data i, hvorfor. DVS. at i min 1. boks
> vises der filmene, men i min 2. boks kommer datoen ikke i.

Datoerne kommer først frem når du har valgt en titel og opdateret
formen. Du kan evt. sætte javascript på den første dropdown,
således at formen opdateres automatisk når man vælger en værdi.
Husk at formen skal benytte GET og action-siden skal være den samme
side som formen er på.

Du kan også prøve det "i hånden" - ved at tilføje
"?titel=navnpåentitel" i browserens adressefelt.

Har du mulighed for at lægge eksemplet online?
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

AHR (04-12-2002)
Kommentar
Fra : AHR


Dato : 04-12-02 12:55

> Datoerne kommer først frem når du har valgt en titel og opdateret
> formen. Du kan evt. sætte javascript på den første dropdown,
> således at formen opdateres automatisk når man vælger en værdi.
> Husk at formen skal benytte GET og action-siden skal være den samme
> side som formen er på.

Kan du ændre i min kode/eller fortælle mig hvordan?

> Du kan også prøve det "i hånden" - ved at tilføje
> "?titel=navnpåentitel" i browserens adressefelt.

Jep, dette virker, nu får jeg valgt en film og en dato der hører dertil.

> Har du mulighed for at lægge eksemplet online?

Desværre, har aldrig fået min IIS til at virke ud af huset



Jens Gyldenkærne Cla~ (04-12-2002)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 04-12-02 13:08

AHR skrev:

>> Datoerne kommer først frem når du har valgt en titel og
>> opdateret formen.

> Kan du ændre i min kode/eller fortælle mig hvordan?

Start med bare at sætte en submitknap ind.
Klik på den efter du har valgt en titel.

>> Har du mulighed for at lægge eksemplet online?
>
> Desværre, har aldrig fået min IIS til at virke ud af huset

Så vidt jeg husker kan man få asp-serverplads gratis hvis man kan
leve med reklame. Overvej det.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

AHR (04-12-2002)
Kommentar
Fra : AHR


Dato : 04-12-02 13:14

>>Start med bare at sætte en submitknap ind.
>>Klik på den efter du har valgt en titel.

Er det i gruppen "dk.edb.internet.webdesign.clientside", jeg skal søge hvis
jeg ønsker at dette skal gøres automatisk med et javascript i stedet for at
trykke på en knap.

Tak
AHR



Jens Gyldenkærne Cla~ (04-12-2002)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 04-12-02 13:22

AHR skrev:

> Er det i gruppen "dk.edb.internet.webdesign.clientside", jeg
> skal søge hvis jeg ønsker at dette skal gøres automatisk med
> et javascript i stedet for at trykke på en knap.

Præcis.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

AHR (04-12-2002)
Kommentar
Fra : AHR


Dato : 04-12-02 17:31

> > Er det i gruppen "dk.edb.internet.webdesign.clientside", jeg
> > skal søge hvis jeg ønsker at dette skal gøres automatisk med
> > et javascript i stedet for at trykke på en knap.

> Præcis.

Ingen svar på clientside, kan du evt. hjælpe. Kan man kun opdatere siden med
et javascript?

Tak
AHR



Jens Gyldenkærne Cla~ (04-12-2002)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 04-12-02 17:42

AHR skrev:

> Ingen svar på clientside, kan du evt. hjælpe. Kan man kun
> opdatere siden med et javascript?

Nej da. Jeg gentager lige hvad jeg skrev i
<news:Xns92DA85A784C1Bjcdmfdk@gyrosmod.dtext.news.tele.dk>

| Start med bare at sætte en submitknap ind.
| Klik på den efter du har valgt en titel.

Jeg kan godt hjælpe med noget javascript - men det bliver ikke lige
nu. Du behøver ikke script for at få siden til at virke.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

AHR (04-12-2002)
Kommentar
Fra : AHR


Dato : 04-12-02 20:15

Ok, nu virker mine drop down bokse. Jeg brugte onchange til det. Men når jeg
har valgt titel og derefter dato vil jeg gerne have titel stadig bliver
stående. I dette tilfælde slettes det der står i titel.

Kan det klares?

Tak
AHR

P.S Her er hele koden

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

<form name="form" method="get"
action="http://localhost/bio/reservation.asp">
<select name = "titel" onchange="submit()">
<option>Film</option>
<%
' Databaseforbindelse - husk at angive sti til din database
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("/bio/db/bio.mdb")
Conn.Open DSN

' SQL forespørgsel
strSQL = "Select Titel from Film"

' Udfør forespørgsel (rs indeholder nu resultatet)
Set rs = Conn.Execute(strSQL)

Dim myTitel
myTitel = Request.QueryString("Titel")

' Gennemløb Recordset (rs) med en løkke
Do While Not rs.EOF
%>
<option <% IF rs("Titel") = myTitel Then %>selected="selected"<% End If
%>><%= rs("titel") %></option>

<%
' Gå til næste Record i rs
rs.MoveNext

' Fortsæt indtil rs er gennemløbet (EOF = End Of File)
Loop
%>
</select>
</form>

<form name="form" method="get"
action="http://localhost/bio/reservation.asp">
<select name = "dato" onchange="submit()">
<option>Dato</option>
<%
Dim titel
titel = Request.QueryString("titel") & ""
titel = Replace(titel, "'", "''")

strSQL = "Select Dato from Forrestilling where Titel ='" & _
titel & "'"

' Udfør forespørgsel (rs indeholder nu resultatet)
Set rs = Conn.Execute(strSQL)

' Gennemløb Recordset (rs) med en løkke
Do While Not rs.EOF
%>

<option <% IF rs("Dato") = myDato Then %>selected="selected"<% End If %>><%=
rs("Dato") %></option>

<%
' Gå til næste Record i rs
rs.MoveNext

' Fortsæt indtil rs er gennemløbet (EOF = End Of File)
Loop
%>
</select>
</form>

<form name="form" method="get"
action="http://localhost/bio/reservation.asp">
<select name = "tid" onchange="submit()">
<option>Kl</option>
<%
Dim dato
dato = Request.QueryString("dato") & ""
dato = Replace(dato, "'", "''")

strSQL = "Select tid from Forrestilling where Dato ='" & _
dato & "'"

' Udfør forespørgsel (rs indeholder nu resultatet)
Set rs = Conn.Execute(strSQL)

' Gennemløb Recordset (rs) med en løkke
Do While Not rs.EOF
%>

<option <% IF rs("tid") = myTid Then %>selected="selected"<% End If %>><%=
rs("tid") %></option>

<%
' Gå til næste Record i rs
rs.MoveNext

' Fortsæt indtil rs er gennemløbet (EOF = End Of File)
Loop
%>
</select>
</form>
<%
' Luk databaseforbindelse
Conn.Close
Set Conn = Nothing
%>



Søg
Reklame
Statistik
Spørgsmål : 177559
Tips : 31968
Nyheder : 719565
Indlæg : 6408937
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste