Avatar billede hanne-rk Nybegynder
29. marts 2003 - 00:11 Der er 2 kommentarer og
1 løsning

HJÆLP - opdater side når man har valgt

dette lister alle menupunkter og undermenupunkter fra databasen.
MEN jeg vil gerne have at undermenupunter KUN er dem som tilhøre det valgte menupunkt.
DVS når man har valgt menupunkt skal siden opdateres så man kun ser de undermenupunter der findes til netop dette menupunkt.
......................... (stor kode derfor 200 point)

<table border="1" cellspacing="1" width="442" id="AutoNumber1" bordercolorlight="#000080" bordercolordark="#000080" height="46">
<tr><td width="126" bgcolor="#000080" height="22"><font color="#FFFFFF">Hoved menupunkt</font></td>
<td width="313" height="22"><select size="1" name="menupunkt">
<%' SQL forespørgsel
strSQL = "Select * from menupunkter where menupunkter is not null order by menupunkter"
' Udfør forespørgsel (rs indeholder nu resultatet)
Set rs = Conn.Execute(strSQL)
' Gennemløb Recordset (rs) med en løkke
Do
%>
<option><% = rs("menupunkter")%></option>
<%' Gå til næste Record i rs
rs.MoveNext
' Fortsæt indtil rs er gennemløbet (EOF = End Of File)
Loop While Not rs.EOF
%>
</select> </td></tr>
<tr><td width="126" bgcolor="#000080" height="1"><font color="#FFFFFF">Under menupunkt</font></td>
<td width="313" height="1"><select size="1" name="undermenupunkt">
<%' SQL forespørgsel
strSQL = "Select * from menupunkter where undermenupunkter is not null order by undermenupunkter"
' Udfør forespørgsel (rs indeholder nu resultatet)
Set rs = Conn.Execute(strSQL)
' Gennemløb Recordset (rs) med en løkke
Do
%>
<option><% = rs("undermenupunkter")%></option>
<%' Gå til næste Record i rs
rs.MoveNext
' Fortsæt indtil rs er gennemløbet (EOF = End Of File)
Loop While Not rs.EOF
%>
</select>
</td></tr>
</table>
Avatar billede mortrr Praktikant
29. marts 2003 - 02:24 #1
Du har forhåbenligt et eller andet i "menupunkter" tabellen som fortæller hvilket menupunkt dit undermenupunkt hører til.

Hvis ja, så skal du bare nøjes med at udvælge de underpunkter der hører til aktuelt menupunkt. I nedenstående kode har jeg bare ladet som om at feltet menupunkter også står på dine undermenupunkter.

Desuden har jeg flyttet din "while not rs.eof" op til Do, så den ikke fejler hvis der slet ingen data er.

<table border="1" cellspacing="1" width="442" id="AutoNumber1" bordercolorlight="#000080" bordercolordark="#000080" height="46">
<tr><td width="126" bgcolor="#000080" height="22"><font color="#FFFFFF">Hoved menupunkt</font></td>
<td width="313" height="22"><form action="siden.asp" method="post"><select size="1" name="menupunkt" onchange="this.form.submit()">
<%
' Hent det aktuelle menupunkt
' Erstat ' men '', så det ikke giver problemer i databasen
CurrentMenupunkt=Replace(Request.Form(menupunkt),"'","''")
' SQL forespørgsel
strSQL = "Select * from menupunkter where menupunkter is not null order by menupunkter"
' Udfør forespørgsel (rs indeholder nu resultatet)
Set rs = Conn.Execute(strSQL)
' hvis vi ikke har et menupunkt fra Request, så vælg det første
if Not rs.EOF and CurrentMenupunkt="" then
  CurrentMenupunkt=rs("menupunkter")
end if
' Gennemløb Recordset (rs) med en løkke
' så længe rs ikke er EOF = End Of File
Do While Not rs.EOF
  %><option <%
  ' Set det nuværende menupunkt som selected
  if "" & rs("menupunkt")=CurrentMenupunt then
    %>selected<%
  end if
  %>><% = rs("menupunkter")%></option><%
  ' Gå til næste Record i rs
  rs.MoveNext
Loop
rs.Close
%></select></form></td></tr>
<tr><td width="126" bgcolor="#000080" height="1"><font color="#FFFFFF">Under menupunkt</font></td>
<td width="313" height="1"><select size="1" name="undermenupunkt"><%
' SQL forespørgsel
strSQL = "Select * from menupunkter where undermenupunkter is not null and menupunkter='" & CurrentMenupunkt & "' order by undermenupunkter"
' 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><% = rs("undermenupunkter")%></option><%
  ' Gå til næste Record i rs
  rs.MoveNext
  ' Fortsæt indtil rs er gennemløbet (EOF = End Of File)
Loop
%></select>
</td></tr>
</table>
Avatar billede hanne-rk Nybegynder
29. marts 2003 - 22:51 #2
jeg får bare en helt tom dropdown menu (kun een, den anden er væk)

min database ser sådan ud :
navn : butik.mdb
tabelnavn : menupunkter
rækker i tabel : menupunkter, undermenupunkter, vare, pris

det vil sige at tabellen fx kunne se sådan ud :

tilbudsvarer - bluser - flot blå bluse - 50.00
Avatar billede mortrr Praktikant
30. marts 2003 - 00:50 #3
Den første "tomme" indeholder nok en fejl. Vis - Kilde - så vil du sikkert kunne se at filen ender med en ado-fejl.
if "" & rs("menupunkt")=CurrentMenupunt then
skal være
if "" & rs("menupunkter")=CurrentMenupunt then


Noget andet:
Hvis du har det hele i samme tabel (du bør lave en opdeling, så menupunkter er i en tabel og varer i en anden), så skal du bruge distinct i udvælgelsen. Ellers får du samme menupunkt flere gange.

strSQL = "Select distinct menupunkter from menupunkter where menupunkter is not null order by menupunkter"
og
strSQL = "Select distinct menupunkter, undermenupunkter from menupunkter where undermenupunkter is not null and menupunkter='" & CurrentMenupunkt & "' order by undermenupunkter"
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester