Avatar billede jens_as Nybegynder
01. september 2003 - 17:44 Der er 7 kommentarer og
1 løsning

Mange checkboxe

Heysan...

Jeg har bakset lidt med et nyhedsbrev og nu er det næsten færdigt. Det eneste jeg mangler til det er at man på siden send.asp kan checke nogle checkboxe med hvilke nyheder man vil have med i nyhedsbrevet. Men det jeg er virkelig kørt fast så PLZ HJÆLP!!!

Der er omkring 40 nyheder som skal vises på siden send.asp men kun omkring 7 skal sendes med nyhedsbrevet...

Er der nogle som kan hjælpe eller skal jeg gribe sagen anderledes an??

Venlig Hilsen
/Jens
Avatar billede medions Nybegynder
01. september 2003 - 17:51 #1
Så gør du sådan her:

<%
  For Each Item In Request.Form
    Response.Write(Request.Form(Item) & "<br>")
  Next
%>

//>Rune
Avatar billede eagleeye Praktikant
01. september 2003 - 17:52 #2
Hvis hver nyhed blandt de 40 har et ID så kan du give alle checkbox samme navn og putte ID i value delen.

På siden som tjekker hvilke der er valgt hender man så alle de valgte i en kommasepereret liste..

SQL "SEELCT * FROM nyheder"
Set rs = Conn.Execute(SQL)

do while not rs.EOF
  Response.Write "<input type=""checkbox"" name=""nyhed"" value=""" & rs("id") & """>" & rs("nyhedtitel") & "<br>"
  rs.Movenext
loop

----------

På siden som sender:

nyhedIDlist = Request.Form("nyhed")

nyhedIDarr = Split(nyhedIDlist,",")
for i = 0 to ubound(nyhedIDarr)
  'Find nyhenden i DB'en
next
Avatar billede medions Nybegynder
01. september 2003 - 17:54 #3
Så er det bare at give dine checkboxes en god beskrivelse i name!

Så¨som fx.
<input type="checkbox" name="Internet">
<input type="checkbox" name="Natur">
<%
  For Each Item In Request.Form
    Response.Write(Item & ": " & Request.Form(Item) & "<br>")
  Next
%>

//>Rune
Avatar billede jens_as Nybegynder
01. september 2003 - 17:55 #4
Min Sql streng ser sådan ud...

Set NyhedRs = Conn.Execute("Select Top 5 ID, Dato, Overskrift, Nyhed From Nyheder Order By Dato Desc")
While Not NyhedRs.EOF
  Body = Body & vbCrlf & vbCrlf & "<font face=""verdana"" size=""4"">" & NyhedRs("Overskrift") & "</font>" & "<br></td></tr><tr><td height=""1"" bgcolor=""#CCCCCC""></td></tr><tr><td>" & vbCrlf & "<font face=""verdana"" size=""1"">(" & NyhedRs("Dato") & ")</font>" & "<br>" & vbCrlf & Replace(left(NyhedRs("Nyhed"),300), vbCrLf, "<br>") & "...<br><a face=""verdana"" href=""http://www.hjemmeside.dk/nyheder.asp?ID=" & NyhedRs("ID") & """>&nbsp;l&aelig;s mere ››</a><br><br>"
  NyhedRs.MoveNext
Wend

Hvordan vil du sætte mine nyheder ind i den og hvordan skal min send side se ud? Sådan ser den ud nu:

<% Do While Not rs.EOF %>
<tr>
<td>
(<%=Rs("Dato")%>)
</td>
<td>
<%=Rs("Overskrift")%>
</td>
<td>
<input type="checkbox" VALUE="checked" name="<%=Rs("ID")%>">
</td>
</tr>
<%
Rs.MoveNext
Loop
%>

/Jens
Avatar billede eagleeye Praktikant
01. september 2003 - 18:02 #5
Jeg ville gøre sådan her:

Først den send siden:


<% Do While Not rs.EOF %>
<tr>
<td>
(<%=Rs("Dato")%>)
</td>
<td>
<%=Rs("Overskrift")%>
</td>
<td>
<input type="checkbox" name="nyhed" VALUE="<%=Rs("ID")%>">
</td>
</tr>
<%
Rs.MoveNext
Loop
%>



Så den anden:


nyhedIDlist = Request.Form("nyhed")
if nyhedIDlist <> "" then
  'Hendt de valgt nyheder ud:
  Set NyhedRs = Conn.Execute("Select ID, Dato, Overskrift, Nyhed From Nyheder WHERE ID IN (" & nyhedIDlist & ") Order By Dato Desc")

  While Not NyhedRs.EOF
    Body = Body & vbCrlf & vbCrlf & "<font face=""verdana"" size=""4"">" & NyhedRs("Overskrift") & "</font>" & "<br></td></tr><tr><td height=""1"" bgcolor=""#CCCCCC""></td></tr><tr><td>" & vbCrlf & "<font face=""verdana"" size=""1"">(" & NyhedRs("Dato") & ")</font>" & "<br>" & vbCrlf & Replace(left(NyhedRs("Nyhed"),300), vbCrLf, "<br>") & "...<br><a face=""verdana"" href=""http://www.hjemmeside.dk/nyheder.asp?ID=" & NyhedRs("ID") & """>&nbsp;l&aelig;s mere ››</a><br><br>"
    NyhedRs.MoveNext
  Wend
End If
Avatar billede jens_as Nybegynder
01. september 2003 - 18:06 #6
Ok prøver lige om det virker...

Et andet lille hurtigt spørgsmål... Hvis nu man kun vil trække de nyheder ude på send.asp siden som har været skrevet de sidste 7 dage hvordan ser den så ud?
Avatar billede eagleeye Praktikant
01. september 2003 - 18:24 #7
Så vil de se ud i stil med:


Set NyhedRs = Conn.Execute("Select ID, Dato, Overskrift, Nyhed From Nyheder WHERE dato >= DateAdd('d',-7, Date()) Order By Dato Desc")
Avatar billede jens_as Nybegynder
01. september 2003 - 18:31 #8
Det må jeg sige eagleeye, den tog dig fandema ikke ret lang tid at knække!

FLOT klaret!!!

Jeg giver dig med glæde alle piont...

/Jens
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