25. juni 2007 - 14:53Der er
54 kommentarer og 1 løsning
Dropdown box med database
Hej,
Jeg forsøger at lave en simple sms sider, hvorpå jeg ønsker en dropdown box med de nummer som der skal være mulighed for at sende til. Hvordan får jeg min nuværende dropdown box til at kigge i databasen og checke på brugernavn og derefter liste alle brugerne i den dropdown boks? jeg er åben forslag eller evt anden måde at gøre det på? :)
jeg har følgende kode:
<% if mode = "SMS" then
if session("brugernavn") = "" then Response.Redirect("index.asp?mode=login") end if
Set rs = Server.CreateObject("ADODB.Recordset") sql = "select * from bruger where brugernavn = '" & Session("brugernavn") & "'" rs.open sql, conn, 1, 3
%> <p> <select name="Category"> <% Do While not ani.EOF %> <option value="<%=ani("Category")%>"> <%=ani("Category")%></option> <% ani.MoveNext Loop ani.Close set ani = Nothing %>
Hvad er der galt med den nuværende måde at gøre det på?
Synes godt om
Slettet bruger
25. juni 2007 - 15:15#2
den nuværende vises ikke i modtager feltet af en eller anden grund, har forsøgt at skrive den ind der...
Synes godt om
Slettet bruger
25. juni 2007 - 15:24#3
Hvis den vil vise det valgt i dropdown boksen i modtager feltet, problemet naturligvis løst. men det kan jeg desværre ikke få til at spille, nogle forslag? :)
Det jeg egentlig vil, at have en dropdown boks. i Dropdown boksen skal man kunen vælge et navn og så skal den automatisk indsætte det tilhørende telefon nummer som står i databasen (access)
1) Man henter alle numrene ind i en Array i JavaScript, hvilket betyder den loader lidt mere, men tilgengæld bliver man på samme side, når man vælger personen i dropdown boksen
2) Man henter kun personerne ind i dropdown boksen, hvilket går hurtigere, men tilgengæld skal man forbi serveren igen, når man har valgt en person i dropdown boksen
Hmm.. Jeg laver normalt siden sådan, at den submitter til samme side..
Men jeg kan se, at du bruger action="123"..
Kan jeg få dig til at lave et check på "recipient"-feltet, og se om det er tomt? Hvis det er, sendes brugeren tilbage til formen..
Så vil jeg checke om Category er valgt samtidigt med recipient er tomt, hvilket betyder at brugeren har valgt i person i listen, og der nu skal findes et telefon-nummer..
Synes godt om
Slettet bruger
25. juni 2007 - 23:10#19
Recipient-feltet er tomt. Hvis jeg vælger en i Category, så er recipent tomt.
Det jeg ønsker er så at den skal sætte nummert på den man har valgt ind
Synes godt om
Slettet bruger
25. juni 2007 - 23:32#20
Hvis det er nemmere med jave måden er jeg da også åben over for den? :)
Det er meget nemmere med JavaScript-metoden.. :-) Jeg tror ikke rigtigt at man kan mærke forskel, med mindre at man har en langsom internetforbindelse..
Jeg vil lave JavaScript-delen, og så kan du vurdere, om du synes om den..
<script type="text/JavaScript" language="JavaScript"> function skift(formen,kontaktoplysningerne) { oplysning = kontaktoplysningerne.split("|"); navnet_paa_kontakt_personen = oplysning[0]; nummeret_paa_kontakt_personen = oplysning[1]; formen.recipient.value = nummeret_paa_kontakt_personen; // jeg går ud fra, at det er nummeret der skal vises..? } </script>
<% Do While not ani.EOF %> <option value="<% response.write ani("NavnetPaaKontaktPersonen") & "|" & ani("NummeretPaaKontaktPersonen") %>"> <%=ani("NavnetPaaKontaktPersonen")%></option> <% ani.MoveNext Loop ani.Close set ani = Nothing %>
Set rs = Server.CreateObject("ADODB.Recordset") sql = "select * from bruger where brugernavn = '" & Session("brugernavn") & "'" rs.open sql, conn, 1, 3
%> <form action="123" "method="POST"> <input type="text" name="recipient" value=""> <br> <select name="kontaktperson" onchange="skift(this.form, this.value)"> <% if rs.bof or rs.eof then %> <option value="">-- Ingen kontakter --</option> <% else dim navn, nummer do while not rs.eof navn = rs("navn") nummer = rs("nummer") %> <option value="<%=navn & "|" & nummer%>"><%=navn%></option> <% rs.movenext loop
end if
rs.close conn.close set rs = nothing set conn = nothing %> </select> </form>
</body> </html>
Synes godt om
Slettet bruger
01. juli 2007 - 09:20#39
Super, mange tak, og tak for tålmodigheden :=) Laver du lige et svar så du kan få points :=)
Synes godt om
Slettet bruger
01. juli 2007 - 16:51#40
synes desværre ikke lige det spiller, den vise ikke noget i felterne, de er helt blanke.
Jeg har nu oprettet en kolonnen, med navnet "idTilhorer". idTilhorer er af typen "tal". idTilhorer kommer til at indeholde brugerId på den bruger, der må se se personens oplysninger.
Jeg har også ændret sql-linien:
sql = "select * from bruger where brugernavn = '" & Session("brugernavn") & "'"
til:
sql = "select * from bruger where idTilhorer = (select brugerId from bruger where brugernavn = '" & Session("brugernavn") & "')"
Du bruger også andre navne til kolonnerne, end jeg gjorde, så jeg har rettet dem fra:
navn = rs("navn") nummer = rs("nummer")
til
navn = rs("brugerNavn") nummer = rs("Tlfnr")
Det er også blevet svært at holde styr på dine rs og conn objekter..
Så disse rs og conn linier skal muligvis slettes:
<% rs.close set rs = nothing end if %>
</html> <% 'Lukker connection conn.close set conn = nothing %>
' Hvis alle må se ALLE, brug denne SQL linie: 'sql = "select brugerNavn, Tlfnr from bruger"
' Hvis man kun må se dem, man SELV har tilføjet, brug denne SQL linie: sql = "select * from bruger where idTilhorer = (select brugerId from bruger where brugernavn = '" & Session("brugernavn") & "')"
response.write sql ' denne linie skal slettes efters tests!! rs.open sql, conn, 1, 3 %> <form action="123" "method="POST"> <input type="text" name="recipient" value=""> <br> <select name="kontaktperson" onchange="skift(this.form, this.value)"> <% if rs.bof or rs.eof then %> <option value="">-- Ingen kontakter --</option> <% else dim navn, nummer do while not rs.eof navn = rs("brugerNavn") nummer = rs("Tlfnr") %> <option value="<%=navn & "|" & nummer%>"><%=navn%></option> <% rs.movenext loop
end if
rs.close conn.close set rs = nothing set conn = nothing %>
Hvordan er det lige, med at se andre personer oplysninger?
1) Alle må se alles navn og nummer
2) Man må kun se dem man SELV har tilføjet
Synes godt om
Slettet bruger
01. juli 2007 - 22:00#50
Jeg er vist nødt til at få renset ud i min kode, og så lave det hele igen, så jeg kan få sat det rigtig op, på dit tidligere test eksemple fungere alt jo... :)
Det kan være at det kommer til at virke, når du har fået ryddet op.. :-) Ellers må du lige sige til..
Nu hvor du er igang med noget oprydning...
Husk at strukturen i HTML kode, er:
DOCTYPE INDSÆTTES HER <html> <head> <title>Titlen på siden</title> Evt meta Evt scripts Evt stylesheets </head> <body> indhold her </body> </html>
Der må ikke være flere forekomster af html, head eller body.. og alt indholdet skal være i mellem <body> og </body>
Synes godt om
Ny brugerNybegynder
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.