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-22 09:00:52 - Mikael Sköld, i forum asp - allmänt, Tråden har 4 Kommentarer och lästs av 441 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>
Databas: Access 2002 (XP)
Plattform: ASP
Språk: VB


Svara

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

Postades av 2003-04-22 09:55:16 - Ragnar Hedblom

Tjena Micke!

Du kanske kan använda Split. Eftersom ID:na är separerade med kommatecken kan du dela upp dom i en array med Split-funktionen.

strID = Request.Form("Kontakta")

arrayID = Split(strID, ",")

Sen kan du stega igenom denna array och hämta adressen för varje ID.

Svenne


Svara

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

Postades av 2003-04-22 10:19:35 - Joachim Feldt

Hej,
Eller en for each-loop:
<code>
Set JMail = Server.CreateObject("JMail.Message")
JMail.From = "epost@domain.com"
JMail.FromName = "Coach"
For each kontaktID in Request.Form("Kontakta")

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

Texter = "SELECT SMS FROM spelartrupp WHERE ID = " & kontaktID & " "
RS.Open Texter, Connect, adOpenStatic, adLockOptimistic

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

RS.Close
Set RS = Nothing
Next

Connect.Close
Set Connect = Nothing
</code>

/Jocke


Svara

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

Postades av 2003-04-22 13:54:56 - Mikael Sköld

Tackar...det fungerade.
Tänk så enkelt det kan vara bara man tänker efter lite.


Svara

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

Postades av 2003-04-22 17:10:35 - Andreas Hillqvist

Ush!

Du kan ju lösa det med en SQL sats. Tänk oxå på att skydda mot infogande av egna SQL vilkor:

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

For Each varTemp In Request.Form("Kontakta")
If IsNumeric("" & varTemp) Then
strIN = strIN & ", " & strIN
Response.Write varTemp & "<br>" & vbCrLf
Else
Response.Write "[Not OK]" & varTemp & "<br>" & vbCrLf
End If
End If

If Len(strIN) > 0 Then
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Server.MapPath("databas.mdb") & ";"

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

If RS.EOF Then
Response.write "Inga mottager funna!"
Else
Set JMail = Server.CreateObject("JMail.Message")
JMail.From = "epost@domain.com"
JMail.FromName = "Coach"
JMail.Subject = ""
JMail.Body = Request("Meddelande")
JMail.Priority = 3
Do Until RS.EOF
JMail.AddRecipient RS("SMS") & "@esms.nu"
End If
JMail.Send "mail.domain.com"
End If
RS.Close
Set RS = Nothing

Connect.Close
Set Connect = Nothing
Else
Response.write "Du har inte markerat några mottagare!"
End If
%>
</code>




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 801
27 960
271 761
532
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