webForumDet fria alternativet

Dropdownmenyer

ASPur ASP

19 svar · 246 visningar · startad av Method

MethodMedlem sedan apr. 2001357 inlägg
#1

jag hämtar alternativen till en dropdown meny ur databasen med denna koden

<SELECT NAME = "kpers6" SIZE = 1>
<%
Set MinCon = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")
MinCon.Open "DSN=roger1;UID=;PWD="
SQL = "SELECT Namn FROM kontaktpersoner ORDER BY Namn ASC"
rs.Open SQL, MinCon
response.write "<option value="""">6</option>"
Do While Not rs.EOF
%>
<OPTION><%=rs("Namn")%>
<%
rs.MoveNext
Loop
%>

och har en annan dropdown meny

med denna koden

<SELECT NAME="kontor" size="1">

<option selected>
<OPTION>Göteborg
<OPTION>Linköping
<OPTION>Malmö
<OPTION>Stockholm
<OPTION>Härnösand
</SELECT>

Här är min fråga

Om jag väljer nån av städerna skall bara kontaktpersoner från de städerna visas i den översta dropdown menyn.

Vad använder man för kod för att få detta att fungera?

------------------
-----------------------
-{CHRYSTAL}-
Lesch rular CS

[Redigerat av Method den 27 apr 2001]

[Redigerat av Method den 27 apr 2001]

LarsGMedlem sedan dec. 200012 464 inlägg
#2
<SELECT NAME = "kpers6" SIZE = 1>
<%
Set MinCon = Server.CreateObject("ADODB.Connection")
MinCon.Open "DSN=roger1;UID=;PWD="
set rs = Server.CreateObject("ADODB.recordset")
[b]k = request.form("kontor") [/b]
SQL = "SELECT Namn " & _
" FROM kontaktpersoner " & _
[b]" where kontor = '" & k & "'" & _ [/b] 
" ORDER BY Namn ASC"
rs.Open SQL, MinCon
response.write "<option value="""">6</option>"
Do While Not rs.EOF
%>
<OPTION><%=rs("Namn")%>
<%
rs.MoveNext
Loop
%>

Lite fel när jag klistrade och klippte
------------------
essentitia preter non sans multiplicandum

[Redigerat av LarsG den 27 apr 2001]

MethodMedlem sedan apr. 2001357 inlägg
#3

Jag får det inte att fungera.

Dropdown menyn är hel tom

Vad är detta k för något?

" where kontor = '" & k & "'" & _

skall k´et bytas mot något annat

------------------
-----------------------
-{CHRYSTAL}-
Lesch rular CS

CoolDudeMedlem sedan aug. 2000304 inlägg
#4
[b]k = request.form("kontor")[/b]

Tre rader längre upp.

------------------
/CoolDude

MethodMedlem sedan apr. 2001357 inlägg
#5

såg det sen men varför fungerar det inte??

------------------
-----------------------
-{CHRYSTAL}-
Lesch rular CS

LarsGMedlem sedan dec. 200012 464 inlägg
#6

Du kan ju kontrollera att du får in ett värde i variabeln k. Dvs att du lägger till ett

response.write sql

innan du gör open

------------------
essentitia preter non sans multiplicandum

MethodMedlem sedan apr. 2001357 inlägg
#7

Menar du så här?

<SELECT NAME = "kpers6" SIZE = 1>
<%
Set MinCon = Server.CreateObject("ADODB.Connection")
response.write sql
MinCon.Open "DSN=roger1;UID=;PWD="
k = request.form("kontor")
SQL = "SELECT Namn " & _
" FROM kontaktpersoner " & _
" where kontor = '" & k & "'" & _
" ORDER BY Namn ASC"
rs.Open SQL, MinCon
response.write "<option value="""">6</option>"
Do While Not rs.EOF
%>
<OPTION><%=rs("Namn")%>
<%
rs.MoveNext
Loop
%>

Eller tänker jag fel??

I så fall kan väl du visa hur du menar.

------------------
-----------------------
-{CHRYSTAL}-
Lesch rular CS

LarsGMedlem sedan dec. 200012 464 inlägg
#8

Nej inte riktigt, lägg utskriften efter det att du har gett variabeln SQL ett värde.

<SELECT NAME = "kpers6" SIZE = 1>
<%
Set MinCon = Server.CreateObject'("ADODB.Connection")
MinCon.Open "DSN=roger1;UID=;PWD="
Set rs = Server.CreateObject("ADODB.recordset")

k = request.form("kontor") 
SQL = "SELECT Namn " & _
" FROM kontaktpersoner " & _
" where kontor = '" & k & "'" & _ 
" ORDER BY Namn ASC"
response.write sql
rs.Open SQL, MinCon
response.write "<option value="""">6</option>"
Do While Not rs.EOF
%>
<OPTION><%=rs("Namn")%>
<%
rs.MoveNext
Loop
%>

(Nu när du bara kontrollerar att du får in värden ordentligt så behöver du ju inte skapa några objekt utan du kan kommentera bort dom tills vidare. Du kan ju också lägga till ett response.end direkt efter din response.write)

I mitt förra inlägg så råkade jag klippa bort en del av din kod där du skapade ditt recordset. Har lagt dit den nu.

När du säger att det inte fungerar, vad menar du då? Får du något felmeddelande eller vad?

------------------
essentitia preter non sans multiplicandum

MethodMedlem sedan apr. 2001357 inlägg
#9

Inga felmedelanden bara att dropdownmenyn är helt tom.

------------------
-----------------------
-{CHRYSTAL}-
Lesch rular CS

LarsGMedlem sedan dec. 200012 464 inlägg
#10

Ok, det är inga poster som hittas med sql-satsen. Har du testat den separat?

------------------
essentitia preter non sans multiplicandum

MethodMedlem sedan apr. 2001357 inlägg
#11

Vad menar du med separat?

koden jag skicka in från början?
isåfall fungerar den

------------------
-----------------------
-{CHRYSTAL}-
Lesch rular CS

LarsGMedlem sedan dec. 200012 464 inlägg
#12

Jag menar att du tar den select som du får när du gör response.write och kör den separat i något queryverktyg.

------------------
essentitia preter non sans multiplicandum

MethodMedlem sedan apr. 2001357 inlägg
#13

När jag tar bort denna kodrad

" WHERE kontor = '" & k & "'" & _

Så visas alla kontaktpersoner i listan.

är det nåt fel på denna rad tro eller funkar det inte att ha funktionen?

Hur är det, om man väljer ur listan med städer en ny stad uppdateras dropdown menyn med kontaktpersoner automatiskt då varje gång man byter en stad?

------------------
-----------------------
-{CHRYSTAL}-
Lesch rular CS

CoolDudeMedlem sedan aug. 2000304 inlägg
#14

Då vågar jag påstå att k inte får sitt värde.

(Betänk att Lars G:s exempel kräver uppdatering av sidan alternativt två sidor.)

------------------
/CoolDude

MethodMedlem sedan apr. 2001357 inlägg
#15

Då undrar jag varför k inte får sitt värde????

för jag startar med en av städerna default i dropdownmenyn.

Kan nån förklara detta om det går att lösa på något sätt

mvh

------------------
-----------------------
-{CHRYSTAL}-
Lesch rular CS

[Redigerat av Method den 27 apr 2001]

matthiasMedlem sedan apr. 20012 inlägg
#16

Jag tror det kan hjälpa om du skriver <OPTION VALUE="Göteborg">Göteborg
istället för bara
<OPTION>Göteborg

Annars "fastnar" inget värde vad jag vet.

MethodMedlem sedan apr. 2001357 inlägg
#17

Det hjälpte inte med

<OPTION VALUE="Göteborg">Göteborg

Den får inte sitt värde ändå.

------------------
--------------
-{CHRYSTAL}-
If you have a penis the size of a horse you don't need a BMW to pick up chicks"

LarsGMedlem sedan dec. 200012 464 inlägg
#18

Du har ju

<SELECT NAME="kontor" size="1">
<option selected>
<OPTION>Göteborg
<OPTION>Linköping
<OPTION>Malmö
<OPTION>Stockholm
<OPTION>Härnösand
</SELECT>

dvs att default så har du ett val som är en tom sträng. Om du tar bort den och skriver

<SELECT NAME="kontor" size="1">
<OPTION selected>Göteborg
<OPTION>Linköping
<OPTION>Malmö
<OPTION>Stockholm
<OPTION>Härnösand
</SELECT>

så att man default får Göteborg som val i stället?

------------------
essentitia preter non sans multiplicandum

MethodMedlem sedan apr. 2001357 inlägg
#19

Jag har provat det med men "k" får inte sitt värde än då konstigt nog.

------------------
--------------
-{CHRYSTAL}-
Lär dig först och bilda dina åsikter sedan.

MethodMedlem sedan apr. 2001357 inlägg
#20

Är det nån som vet hur man skall göra för att få detta att fungera och även att sidan uppdateras när man väljer ett nytt alternativ ur dropdown menyn med städerna i?

mvh

------------------
--------------
-{CHRYSTAL}-
Lär dig först och bilda dina åsikter sedan.

136 ms totalt · 3 externa anrop · v20260731065814-full.29ac60f6
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)