Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Hur delar jag upp multipla formulärdata för matchning mot en databas

Postades av 2003-04-18 20:25:00 - Mikael Sköld, i forum asp - allmänt, Tråden har 4 Kommentarer och lästs av 478 personer

Jag har skapat en formulärsida som listar upp ett antal poster ur en databas till en egen checkbox för varje post.

Om jag väljer fler checkboxar och formuläret använder sig av POST, så radas dessa värden (som i mitt fall är ID) upp med kommaseparering.

Nu till mitt problem:

Jag skall i actionsidan ta emot dessa värden och skapa ett mail för varje ID men hämta en adress från samma databas igen.

Jag får inte till detta och hoppas att någon hjälpsam själ kan komma med något tips.

Sidan som tar emot all data ser ut så här:
<code>
<!-- #include file="../adovbs.inc" -->
<%
Set Connect = Server.CreateObject("ADODB.Connection")
DSNName = "DRIVER={Microsoft Access Driver (*.mdb)};"
DSNName = DSNName & "DBQ=" & Server.MapPath("databas.mdb")
Connect.Open DSNName

Set JMail = Server.CreateObject("JMail.Message")
JMail.From = "epost@domain.com"
JMail.FromName = "Coach"
For I = 1 To Request.Form("Kontakta").Count
Response.Write Request.Form("Kontakta")(I)

Set RS = Server.CreateObject("ADODB.Recordset")

Texter = "SELECT SMS FROM spelartrupp WHERE ID = " & Request("Kontakta") & " "
RS.Open Texter, Connect, adOpenStatic, adLockOptimistic

JMail.AddRecipient RS("SMS") & "@esms.nu"

' Dim MyArray, MyRSCount
' MyArray = RS.GetRows
' MyRSCount = RS.RecordCount
RS.Close
Set RS = Nothing
Next

Connect.Close
Set Connect = Nothing

JMail.Subject = ""
JMail.Body = Request("Meddelande")
JMail.Priority = 3
JMail.Send( "mail.domain.com" )
%>
</code>

Formulärsidan ser ut så här:
<code>
<FORM METHOD="POST" NAME="myForm" ACTION="smssend.asp">
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tr>
<%
Set Connect = Server.CreateObject("ADODB.Connection")
DSNName = "DRIVER={Microsoft Access Driver (*.mdb)};"
DSNName = DSNName & "DBQ=" & Server.MapPath("databas.mdb")
Connect.Open DSNName

Set RS = Server.CreateObject("ADODB.Recordset")

SQL = "SELECT ID,FNAMN,ENAMN,PERSONNR FROM spelartrupp WHERE Truppmedlem = 1 AND SMS <> Null ORDER BY Left(PERSONNR, 2) DESC, ENAMN ASC, FNAMN ASC"
RS.Open SQL, Connect, 3, 1

Dim MyArray, MyRSCount
MyArray = RS.GetRows
MyRSCount = RS.RecordCount

RS.Close
Connect.Close
Set RS = Nothing
Set Connect = Nothing

Dim i, Antal
i = 0
Antal = 0

Do Until Antal = MyRSCount
If i < 3 Then
%>
<td width="265"><input type="checkbox" value="<%= MyArray(0,Antal) %>" name="Kontakta"><%= MyArray(1,Antal) %>&nbsp;<%= MyArray(2,Antal) %>,&nbsp;<%= Left(MyArray(3,Antal), 2) %>&nbsp;</td>
<%
i = i + 1
Else
%>
</tr>
<tr>
<%
i = 0
End If
Antal = Antal + 1
Loop

set MyArray=Nothing
set MyRSCount=Nothing
%>
</tr>
</table>
<BR>
Meddelande (Max. 150 tecken):<BR>
<TEXTAREA NAME="Meddelande" COLS="40" ROWS="5"></TEXTAREA>
<BR>
<INPUT TYPE="submit" VALUE="Skicka SMS">
</FORM>
</code>




Svara

Sv: Hur delar jag upp multipla formulärdata för matchning mot en datab

Postades av 2003-05-02 10:07:49 - Daniel Åsberg

Kanske att du kan loopa dig igenom databasen och skicka ett mail vid varje loop?
Isf:
<code>
KontaktThis = REPLACE(TRIM(Request.Form("Kontakta")),", ",",")
</code>

Sen efter varje loop:
<code>
KontaktThisOne = LEFT(KontaktThis,InStr(KontaktThis,",")-1)
KontaktThis = RIGHT(KontaktThis,LEN(KontaktThis) - InStr(KontaktThis,","))

Texter = "SELECT SMS FROM spelartrupp WHERE ID = " & KontaktThisOne & " "
RS.Open Texter, Connect, adOpenStatic, adLockOptimistic
</code>


Svara

Sv: Hur delar jag upp multipla formulärdata för matchning mot en datab

Postades av 2003-05-02 10:53:59 - Andreas Hillqvist

Har inte denna fråga farit uppe tidigare. Känner igen den.


<code>
<!-- #include file="../adovbs.inc" -->
<%
Dim vTemp
Dim strIN
Dim strSQL

Dim JMail
Dim Connect

For Each vTemp In Request.Form("Kontakta")
If IsNumeric("" & vTemp) Then
strIN = strIN & ", " & vTemp
End If
Next

If Len(strIN) > 0 Then
Set JMail = Server.CreateObject("JMail.Message")
JMail.From = "epost@domain.com"
JMail.FromName = "Coach"

Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "DRIVER={Microsoft Access Driver (*.mdb)};" & _
"DBQ=" & Server.MapPath("databas.mdb")

Set RS = Server.CreateObject("ADODB.Recordset")
RS.Open "SELECT SMS" & vbCrLf & _
"FROM spelartrupp" & vbCrLf & _
"WHERE ID IN (" & Mid(strIN, 3) & ")" , Connect

Do Until RS.EOF
JMail.AddRecipient RS("SMS") & "@esms.nu"
RS.MoveNext
Loop
RS.Close
Set RS = Nothing

Connect.Close
Set Connect = Nothing

JMail.Subject = ""
JMail.Body = Request("Meddelande")
JMail.Priority = 3
JMail.Send "mail.domain.com"
Else
Response.Write "<h3>Du har inte markerat några poster</h3>"
End If
%>
</code>
Detta är ett mycket effektivare sätt att göra det på!


Svara

Sv: Hur delar jag upp multipla formulärdata för matchning mot en datab

Postades av 2003-05-02 11:21:49 - Daniel Åsberg

På vilket sätt är de effektivare?


Svara

Sv: Hur delar jag upp multipla formulärdata för matchning mot en datab

Postades av 2003-05-02 11:24:39 - Andreas Hillqvist

Jag ställer bara en SQL fråga. Vilket inte var fallet i frågeställarens kod.

Dessutom kontrollerar jag värdet som skickas för att hindra SQL inject.


Svara

Nyligen

  • 08:28 Butiksskyltar: Hur upplever utbude
  • 22:31 Slappna av
  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 800
27 960
271 761
549
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies