/ 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
Dropdown menu fra databasekald
Fra : mema


Dato : 10-04-01 21:31

Hej

Jeg har et lille problem. Har lavet en dropdown menu ud fra et database
kald. Problemet er at når der f.eks. er en kunstner der har flere sange, så
kommer hans navn med flere gange i drop down'en. Se evt. kode:

<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open ("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" &
Server.MapPath("\mema\db\db1.mdb"))
querystring = "SELECT * FROM Table1"
Set RS = Conn.Execute(querystring)
%>

<Form NAME=form ACTION=music.asp METHOD=post>
Select Artist:
<select name="select" onChange="Form.submit()">
<option>Select One</option>
<% Do While Not RS.EOF%>
<option value="<%=RS(1)%>"><%=RS(1)%></option>
<% RS.MoveNext
Loop
RS.Close
%>
</select>
</Form>


Mikkel



 
 
Jon Klose Larsen (10-04-2001)
Kommentar
Fra : Jon Klose Larsen


Dato : 10-04-01 22:16


"mema" <mema@mikkel-andreasen.com> skrev i en meddelelse
news:S3KA6.2485$mj.171253@news101.telia.com...
> Hej
>
> Jeg har et lille problem. Har lavet en dropdown menu ud fra et database
> kald. Problemet er at når der f.eks. er en kunstner der har flere sange,

> kommer hans navn med flere gange i drop down'en. Se evt. kode:
>
> <%
> Set Conn = Server.CreateObject("ADODB.Connection")
> Conn.Open ("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" &
> Server.MapPath("\mema\db\db1.mdb"))
> querystring = "SELECT * FROM Table1"
> Set RS = Conn.Execute(querystring)
> %>
>
> <Form NAME=form ACTION=music.asp METHOD=post>
> Select Artist:
> <select name="select" onChange="Form.submit()">
> <option>Select One</option>
> <% Do While Not RS.EOF%>
> <option value="<%=RS(1)%>"><%=RS(1)%></option>
> <% RS.MoveNext
> Loop
> RS.Close
> %>
> </select>
> </Form>
>
>
> Mikkel


Du kan gøre følgende :

1) ændre din querystring, så den sorterer på kunstner..
querystring = "SELECT * FROM Table1 ORDER BY ???"

2) lav så en betingelse for at tilføje i din dropdown-menu..f.eks. sådan her

last = ""
Do While Not RS.EOF
if RS(1) <> last then
option value="<%=RS(1)%>"><%=RS(1)%></option>
last = RS(1)
endif
RS.MoveNext



mema (10-04-2001)
Kommentar
Fra : mema


Dato : 10-04-01 22:42


"Jon Klose Larsen" <klose@post8.tele.dk> skrev i en meddelelse
news:9avta5$k29$1@sunsite.dk...

*snip*
>
>
> Du kan gøre følgende :
>
> 1) ændre din querystring, så den sorterer på kunstner..
> querystring = "SELECT * FROM Table1 ORDER BY ???"
>
> 2) lav så en betingelse for at tilføje i din dropdown-menu..f.eks. sådan
her
>
> last = ""
> Do While Not RS.EOF
> if RS(1) <> last then
> option value="<%=RS(1)%>"><%=RS(1)%></option>
> last = RS(1)
> endif
> RS.MoveNext
>

Det ser jo simpelt ud. Jeg tænkte nok at jeg skulle bruge en if i menuen,
men kunne ikke lige gennemskue den. Havde ikke lige tænkt på Order By

Og æv... Nu er begge mine test servere nede... Må prøve i morgen i stedet.
Takker anyway!!!

Mikkel



Jakob Møbjerg Nielse~ (11-04-2001)
Kommentar
Fra : Jakob Møbjerg Nielse~


Dato : 11-04-01 00:25

> Det ser jo simpelt ud. Jeg tænkte nok at jeg skulle bruge en if i
menuen,
> men kunne ikke lige gennemskue den. Havde ikke lige tænkt på Order
By

Det vil være smartere at bruge:

SELECT DISTINCT kunstner FROM table1
Så kommer der ingen kopier.

Du skal ikke bruge SELECT *, med mindre du vil have alt hvad du
overhovedet har i DB'en. Ret selv "kunstner" til det til felt med
kunstnerne.

--
Jakob Møbjerg Nielsen
jakob@dataloger.dk
"Hey, he reminds me of someone who looks just like him!" - Me



Jakob Møbjerg Nielse~ (11-04-2001)
Kommentar
Fra : Jakob Møbjerg Nielse~


Dato : 11-04-01 00:26

> Du skal ikke bruge SELECT *, med mindre du vil have alt hvad
> du overhovedet har i DB'en.

Sludder og vrøvl. Der skulle selvfølgelig stå "tabellen" i stedet
for "DB'en", men du forstår vel hvad jeg mener.

--
Jakob Møbjerg Nielsen
jakob@dataloger.dk
"Hey, he reminds me of someone who looks just like him!" - Me



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

Månedens bedste
Årets bedste
Sidste års bedste