18. juli 2002 - 00:09Der er
14 kommentarer og 1 løsning
Fra DB til <select>
Jeg ved intet om ASP, men har scoret mig det er script til et community:
<select name="modtager"> <option></option> <% set rs = Conn.Execute("select * from bruger") Do until rs.eof navn = rs("brugernavn") %> <option value="<%=navn%>"><%=navn%></option> <% rs.movenext loop rs.close set rs = nothing %> </select>
Det hiver alle brugernavne ud af en database og giver dem hver en <option> i <select>'en.
Er det muligt at lave et <option>, som har værdien 'alle brugere' og som hedder alle?
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Du kan lave en SQL sætning som bruger IN som kan tage en komma liste..
hvis du har en SQL idag: WHERE brugernavn = '" & request.form("modtager") & "'"
Så kan du lave den med IN: WHERE brugernavn IN (" & nameListe & ")"
Så skal du bare havde ' sat omkring alle navne inden de komme i SQL sætningen det kan gøres på samme side som laver komma listen ville jeg tror. Så denne linie: strBrugerNavn = strBrugerNavn & navn
Bliver til: strBrugerNavn = strBrugerNavn & "'" & navn & "'"
-------- Ellers kan det laves så du bruger replace så komma blvier lavet om til ','
Eks som også virker med enkelt modtager, så skal du bruge linie udne at lave den om: strBrugerNavn = strBrugerNavn & navn
<HTML><HEAD><link href="style.css" rel="stylesheet" type="text/css"><TITLE>clevzterCommunity</TITLE></HEAD><BODY> <h1>Indbakke</h1> <center><hr> <a href="default.asp">Forside</a> | <a href="mailbox.asp">Indbakke</a> | <a href="bruger.asp">Indstillinger</a> | <a href="profil.asp?brugernavn=<%=session("brugernavn")%>">Din profil</a> | <a href="bruger.asp?mode=logaf">Log af</a> <hr></center><br> <% 'Forskellig menu alt efter om man er logget ind eller ej if session("brugernavn") <> "" then %> <%
Response.Buffer = True
mode = Request.QueryString("mode")
Set conn = Server.CreateObject("ADODB.Connection") Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("db.mdb") %> <% if mode = "" then
'Opbygger recordset set rs = Conn.Execute("select * From mail where mailModtager = '" & Session("brugernavn") & "' order by mailDato desc") %> <b>Klik på emnet for at læse en meddelelse</b><br><br> <table border="0"> <tr> <td bgcolor="#DDDDDD">Afsender</td> <td bgcolor="#DDDDDD">Emne</td> <td bgcolor="#DDDDDD">Dato</td> <td bgcolor="#DDDDDD">Slet</td> <td bgcolor="#DDDDDD"></td> </tr> <% if rs.eof or rs.bof then %> <tr> <td colspan="3" align="center">Ingen meddelelser</td> </tr> <% else Do until rs.eof %> <tr> <td><%=rs("mailAfsender")%></td> <td><a href="mailbox.asp?mode=read_mail&mailid=<%=rs("mailid")%>"><%=rs("mailEmne")%></a></td> <td><%=rs("mailDato")%></td> <td><a href="mailbox.asp?mode=delete_email&mailid=<%=rs("mailid")%>"><img src="images/mailbo1.gif" border="0"></a></td> <td> <% 'Forskelligt billede alt efter om emailen er læst/ulæst if rs("mailread") <> True then %> <img src="images/mail_unread.gif"> <% else %> <img src="images/mail_read.gif"> <% end if %> </td> </tr> <% rs.movenext loop end if %> </table>
'Hiver info om emailen frem: Set rs = Conn.Execute("select * from mail where mailid = " & Request.QueryString("mailid")) Conn.Execute("update mail set mailread = True")
'Tjecker om emailen tilhører brugeren der vil læse den if rs("mailmodtager") <> Session("brugernavn") then Response.Redirect("inbox.asp") end if %> <table border="0"> <tr><td colspan="2" bgcolor="#000000"><font color="#FFFFFF"><b>Læs Post</b></font></td></tr> <tr> <td bgcolor="#DDDDDD"><b>Afsender</b></td> <td bgcolor="#DDDDDD"><%=rs("mailAfsender")%></td> </tr>
'Sletter email Set rs = Conn.Execute("select * from mail where mailid = " & Request.QueryString("mailid"))
'Tjecker om mailen tilhører brugeren if rs("mailModtager") = Session("brugernavn") then conn.Execute("delete from mail where mailid = " & Request.QueryString("mailid") & "") end if
Response.Redirect("mailbox.asp") end if %>
<% if mode = "ny_email" then
'Hvis brugeren har valgt og sende en email: if Request("modtager") <> "" AND Request("emne") <> "" AND Request("besked") <> "" then
'Lægger værdierne ned i variabler modtager = Request.Form("modtager") emne = Server.HTMLEncode(Request.Form("emne")) besked = Server.HTMLEncode(Request.Form("besked"))
Set rs = Server.CreateObject("ADODB.Recordset") sql = "select * from mail" rs.open sql, conn, 1, 3
rs.close set rs = Nothing Response.Redirect("mailbox.asp") end if %>
<b>Skriv ny meddelelse</b><br> <form method="post" action="mailbox.asp?mode=ny_email">
Modtager<br> <select name="modtager"> <option></option> <% 'Hiver alle brugerne ud i en select boks set rs = Conn.Execute("select * from bruger") Do until rs.eof navn = rs("brugernavn") %><option value="<%=navn%>"><%=navn%></option> <% rs.movenext loop rs.close set rs = nothing %> </select><br><br>
så vidt jeg kan se, så skal den bare tjekke efter en mail der er sendt til 'Alle' når den tjekker efter mails sendt til brugernavnet. -------------------------------------------------------------- set rs = Conn.Execute("select * From mail where mailModtager = '" & Session("brugernavn") & "' order by mailDato desc") -------------------------------------------------------------- Her kan man vel sige at den skal tjekke efter mailModtager = 'brugernavn' ELLER 'Alle'
Da jeg ik kender til ASP kan jeg ikke lave det, men kan du (eagleeye) eller en anden ik lave noget?
Ja.. altså med OR ?? jeg er ikke helt med men det skriver man på denne måde:
set rs = Conn.Execute("select * From mail where mailModtager = '" & Session("brugernavn") & "' OR mailModtager = 'alle' order by mailDato desc")
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.