Avatar billede mortency Nybegynder
27. marts 2003 - 13:58 Der er 1 kommentar og
1 løsning

Dynamisk dropdown fra database - Hva er feil?

Jeg har to tabeller:

tblFabrikat              tblModell
- FID(int)                - MID(int)
- Fabrikat(varchar)      - Modell(varchar) 
                          - FKFID(int)

Jeg skal ha to dropdown bokser. Den ene skal oppdatere den andre nå man velger Fabrikat skal alle modellene komme i den andre dropdownen.

Dette scriptet bare looper.


<!--#include file ="../include/global_variables.asp"-->
<!--#include file ="../include/include_dbconn.asp"-->
<%
dim adoCn
dim strSQL
set adoCn = Server.CreateObject("ADODB.Connection")
adoCn.Open strConn

set adoRs = Server.CreateObject("ADODB.Recordset")
%>
<script language="JavaScript">
// <!--
function changeFabrikat() {
  var punkter = new Array()
  switch(document.hjem.Fabrikat[document.hjem.Fabrikat.selectedIndex].value) {
<%
  strSQL = "SELECT FiD FROM tblFabrikat ORDER BY FabrikatID Desc"
  Set rsAntal = adoCn.Execute(strSQL)
  For t = 1 to rsAntal("FID")
%>
    case '<%=t%>':
<%
    i = 0
    strSQL = "SELECT MID,Modell FROM tblModeller Where FKFID=" & t & " ORDER BY Modeller"
    Set rs = adoCn.Execute(strSQL)
    Do While Not rs.EOF
%>      punkter[<%=i%>] = "new Option('<%=rs("Modeller")%>', '<%=rs("MID")%>')";
<%
      i = i + 1
      rs.MoveNext
    Loop
%>      break;
<%
  Next
%>
    default:
      break;
  }
  document.hjem.Modeller.options.length = 0;
  for (var i=0; i<punkter.length; i++) {
    document.hjem.Modeller.add(eval(punkter[i]));
  }
}
// -->
</script>
<form name="hjem" method="post" action="select.asp">
<table width="100%" border="0" cellpadding="0" cellspacing="0">
  <tr>
    <td>Hvilket Fabrikat</td>
    <td>
      <select name="Fabrikat" onchange="changeFabrikat();">
<%
  strSQL = "SELECT Fid,Fabrikat FROM tblFabrikat ORDER BY Fabrikat"
  Set rs = adoCn.Execute(strSQL)
  Do While Not rs.EOF
%>
        <option value="<%=rs("FID")%>"><%=rs("Fabrikat")%></option>
<%
    rs.MoveNext
  Loop
%>
      </select>
    </td>
  </tr>
  <tr>
    <td>Hvilken Modeller</td>
    <td>
      <select name="Modeller">
      </select>
    </td>
  </tr>
</table>
</form>
Avatar billede mortency Nybegynder
27. marts 2003 - 14:02 #1
Jeg fant scriptet her http://www.eksperten.dk/spm/302058
Avatar billede icedox Nybegynder
10. april 2003 - 16:39 #2
Her er fejlen:
Set rsAntal = adoCn.Execute(strSQL)

Det skal være:
strSQL = "select count (*) as rsAntal FROM tblFabrikat ORDER BY FabrikatID Desc"
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