Avatar billede chrille Nybegynder
23. oktober 2001 - 10:08 Der er 7 kommentarer og
1 løsning

Listbox loop

Hej,har ett litet problem med en Listbox som jag vill skall visa rätt värde!!
Jag har gjort en relations databas med två tabeller.
Den ena heter \"Contacts\" och den andra heter \"Avd\"
Jag vill att när man har angett en post ifrån Tabellen
\"Contacts\" så skall rätt värde visas i Listboxen(selected),som hämtar sina värden ifrån tabellen \"Avd\"

jag har redan fixat en loop i listboxen som hämtar värderna ur tabellen \"Avd\" och ger dem värdet av respektive posts primärnyckel(Räknare).
Samma värde ligger också länkat i tabellen \"Contacts\"
för att på så sätt länka de två tabellerna.

jag bifogar koden nedan
-------------------------code-------------------------
<!--#include file=\"../EIncludes/connect.asp\"-->
<%
strID = request.Querystring(\"id\")
if strID = \"\" then
    strID = \"\"
    strNamn=\"\"
    strPhone=\"\"
    strMail=\"\"
else
set rstemp = server.CreateObject(\"ADODB.recordset\")
mySQL=\"select * from contacts Where ID=\" & strID
set rstemp=conntemp.execute(mySQL)

strID=rstemp(\"ID\")
strNamn=rstemp(\"Namn\")
strPhone=rstemp(\"Telefon\")
strMail=rstemp(\"Email\")
strCAvdID=rstemp(\"CAvdID\")


end if 
%>

<%if strID = \"\" then
strHeader = \"Add\"
strFormAction=\"add\"
elseif NOT strID = \"\" then
strHeader=\"Edit\"
strFormAction=\"edit\"
end if %>
<table width=\"350\" border=\"1\" cellspacing=\"0\" cellpadding=\"0\" bgcolor=\"#CCCCCC\" bordercolorlight=\"#000000\" bordercolordark=\"#FFFFFF\">
  <tr>
    <td>
      <div align=\"center\" class=\"Rubrik\">:::<%=strHeader & \" \"%>Contacts:::</div>
    </td>
    <td width=\"40\">
      <div align=\"center\" class=\"Text\">v 2.02</div>
    </td>
  </tr>
</table>
<table width=\"306\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">
  <tr>
    <td>
      <table width=\"78%\" border=\"0\" class=\"Header\" cellspacing=\"0\" cellpadding=\"0\" align=\"right\">
        <form method=\"post\" action=\"../EDistributors/sql.asp?action=<%=strFormAction%>\">
          <tr valign=\"bottom\">
            <td colspan=\"2\">&nbsp; </td>
          </tr>
          <tr valign=\"bottom\">
            <td colspan=\"2\">avd:
                <%
                mySQL2=\"\"
                mySQL=\"SELECT * FROM Avd ORDER BY Avdelning\"
                set rstemp=conntemp.execute(mySQL)
                strName = rstemp(\"Avdelning\")
                strID = rstemp(\"AvdID\")%>
                <select name=\"Avd\" class=\"input\">
                <%do until rstemp.eof%>
                <option value=\"<%=strID%>\"><%=strName%></option>
                <%rstemp.movenext
loop
rstemp.close
set rstemp=nothing
conntemp.close
set conntemp=nothing
%>
              </select></td>
          </tr>
          <tr>
            <td colspan=\"2\">&nbsp;</td>
          </tr>
          <tr bgcolor=\"#CCCCCC\">
            <td width=\"130\" height=\"20\">
              <div align=\"right\">Namn:</div>
            </td>
            <td height=\"20\">
              <input type=\"text\" name=\"name\" size=\"20\" value=\"<%=strNamn%>\" class=\"INPUT\">
            </td>
          </tr>
          <tr bgcolor=\"#CCCCCC\">
            <td width=\"130\" height=\"10\">
              <div align=\"right\">Telefon:</div>
            </td>
            <td height=\"10\">
              <input type=\"text\" name=\"telefon\" size=\"20\" value=\"<%=strPhone%>\" class=\"INPUT\">
            </td>
          </tr>
          <tr bgcolor=\"#CCCCCC\">
            <td width=\"130\" height=\"10\">
              <div align=\"right\">Email:</div>
            </td>
            <td height=\"10\">
              <input type=\"text\" name=\"mail\" size=\"20\" value=\"<%=strMail%>\" class=\"INPUT\">
            </td>
          </tr>
          <tr valign=\"bottom\">
            <td colspan=\"2\" height=\"50\">
              <div align=\"center\">
                <input type=\"submit\" name=\"Submit\" value=\"Spara\" class=\"INPUT\">
                <input type=\"reset\" name=\"Submit2\" value=\"Sudda\" class=\"INPUT\">
                <input type=\"hidden\" name=\"id\" size=\"2\" value=\"<%=strID%>\">
              </div>
            </td>
          </tr>
        </form>
      </table>
    </td>
  </tr>
</table>
</body>
</html>
Avatar billede eagleeye Praktikant
23. oktober 2001 - 10:31 #1
mySQL=\"SELECT * FROM Avd ORDER BY Avdelning\"
set rstemp=conntemp.execute(mySQL)
<select name=\"Avd\" class=\"input\">
  <%do until rstemp.eof%>
  <option value=\"<%=rstemp(\"AvdID\")%>\"><%= rstemp(\"Avdelning\")%></option>
<%rstemp.movenext
loop
Avatar billede chrille Nybegynder
23. oktober 2001 - 11:05 #2
ok..detta fungerar på samma sätt som jag gjorde innan.
Men nu vill jag att rätt \"Avdelning\" blir \"selected\" i listboxen beroende på vilken utav kontakterna man går in på!
ex. \"addcontacts.asp?id=2\" skall kanske visa avdelningen \"market\" som Selected i listrutan.
Är detta möjligt att genomföra!??
Avatar billede eagleeye Praktikant
23. oktober 2001 - 11:09 #3
mySQL=\"SELECT * FROM Avd ORDER BY Avdelning\"
set rstemp=conntemp.execute(mySQL)
<select name=\"Avd\" class=\"input\">
  <%do until rstemp.eof%>
  <option value=\"<%=rstemp(\"AvdID\")%>\" <% if strID=rstemp(\"AvdID\") then response.write \" SELECTED\"%>><%= rstemp(\"Avdelning\")%></option>
<%rstemp.movenext
loop
Avatar billede chrille Nybegynder
23. oktober 2001 - 11:43 #4
Hej eagleeye!!
Jag tror att du faktiskt har löst det...
även om det inte fungerar korrekt så har du faktiskt fått in mig på rätt spår nu!!!! =0)
Det som händer nu är att när man väljer person i contacts så ändras \"Avd\",precis så som jag ville!!
det är bara det att det blir lite fel avdelning.
AvdID får samma värde som \"strID\" vilket inte alltid blir rätt!
ex. \"addcontacts.asp?id=5\"
posten med ID 5 i \"contacts\" har värdet AvdID
3 i tabellen \"Avd\",men som det blir nu så får han
även värdet 5 som AvdID vilket blir fel, jag tror att jag vet vad jag skall göran nu,men om du vill hjälpa mig mer så tackar jag och bugar!!

Eftersom du hade skrivit in ditt senaste svar som
\"Kommentar\" så kan jag inte ge dig poängen,annars hade du fått dem nu!!
skriv ett nytt inlägg och posta det som \"svar\" så får du dina poäng!!!
även värdet 5
Avatar billede eagleeye Praktikant
23. oktober 2001 - 11:47 #5
så laver jeg da lige et svar
Avatar billede chrille Nybegynder
23. oktober 2001 - 11:48 #6
Hey Jag löste det!!
<%
mySQL=\"SELECT * FROM Avd ORDER BY Avdelning\"
set rstemp=conntemp.execute(mySQL)%>
<select name=\"Avd\" class=\"input\">
<%do until rstemp.eof%>
<option value=\"<%=rstemp(\"AvdID\")%>\"<%if strCAvdID=rstemp(\"AvdID\") then response.write \" SELECTED\"%>><%= rstemp(\"Avdelning\")%></option>
<%rstemp.movenext%>
Avatar billede eagleeye Praktikant
23. oktober 2001 - 11:49 #7
Hvordan er din relation mellem avdID og ID?
Avatar billede chrille Nybegynder
23. oktober 2001 - 11:49 #8
Thanks man!!
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