More form processing

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Simon

    More form processing

    Hey folks,

    I need some of your expertiese again. I am creating a survey form and need
    some help gathering the results of a question that has checkboxes. There
    are four options for one of the questions for example

    Where do you normally buy books?
    o Bookstore
    o Online
    o Book club
    o Other

    I'm going to store the answers in a DB and I dont want to have have four
    fields if only two of them are going to get used. Im trying to find a GOOD
    way to collect the results perhaps in an array or comma seperated list so I
    could store it in onefield.

    Right now here is what I have

    <%
    strBuyBook1 = Trim(Request.Fo rm("buy_book1") )
    strBuyBook2 = Trim(Request.Fo rm("buy_book2") )
    strBuyBook3 = Trim(Request.Fo rm("buy_book3") )
    strBuyBook4 = Trim(Request.Fo rm("buy_book4") )

    Connect to the database
    call OpenDB()

    SQL = "INSERT INTO tblAnswers( BuyBook1, BuyBook2, BuyBook3, BuyBook4)" & _
    "VALUES ('" & strBuyBook1 & "', '" & strBuyBook2 & "', '" &
    strBuyBook3 & "', '" & strBuyBook4 & "')"

    con.Execute SQL

    %>


    Thanks in anticipation
    Simon


  • Andrew Durstewitz

    #2
    Re: More form processing

    I would create a second table with a list of every item that is
    available and associate the text string with a unique key. Then place
    the unique key in the users record seperated by commas.

    hth,
    Andrew

    * * * Sent via DevBuilder http://www.devbuilder.org * * *
    Developer Resources for High End Developers.

    Comment

    • Bob Barrows

      #3
      Re: More form processing

      Nah, you're still thinking in spreadsheet terms. There are good reasons for
      database normalization.
      Simon wrote:[color=blue]
      > I agree I dont really want to store multiple values in a single
      > field, I would like to have two fields in my database. I was
      > thinking along the lines using the split function to create an array
      > and inserting each array item into its own field. To do that I would
      > have to prevent teh user form checking more than two checkboxes but
      > Im not sure how to do that either :-\
      >
      >
      > "Bob Barrows" <reb_01501@yaho o.com> wrote in message
      > news:OICsO%23%2 3PDHA.3880@tk2m sftngp13.phx.gb l...[color=green]
      >> <rant>
      >> It is a bad idea to store multiple data values in a single field.
      >> This is a database, not a spreadsheet. Someday you are going to need
      >> to look at these values individually: think of the hell you are
      >> going to go through to separate them out. Say you want to know what
      >> percentage of people use a bookstore?
      >> </rant>
      >>
      >> You should use a separate table called BookSources with two columns:
      >> ResponseID and BookSource. ResponseID ties a booksource record back
      >> to a response record. There will be a 1 to many relationship between
      >> Responses and BookSources.
      >>
      >> If you give all four checkboxes the same name:
      >> <INPUT type="checkbox" name="buy_book" value="Bookstor e">
      >> <INPUT type="checkbox" name="buy_book" value="Online">
      >> etc.
      >> , you can process the inputs as a collection:
      >>
      >> 'You will need to have assigned a ResponseID prior to this step
      >> for each vData in request.form("b uy_book")
      >> SQL = "insert into BookSources Values (" & ResponseID & _
      >> ", '" & vData & "')"
      >> con.Execute SQL
      >> next
      >>
      >> HTH,
      >> Bob Barrows
      >>
      >> Simon wrote:[color=darkred]
      >>> Hey folks,
      >>>
      >>> I need some of your expertiese again. I am creating a survey form
      >>> and need some help gathering the results of a question that has
      >>> checkboxes. There are four options for one of the questions for
      >>> example
      >>>
      >>> Where do you normally buy books?
      >>> o Bookstore
      >>> o Online
      >>> o Book club
      >>> o Other
      >>>
      >>> I'm going to store the answers in a DB and I dont want to have have
      >>> four fields if only two of them are going to get used. Im trying to
      >>> find a GOOD way to collect the results perhaps in an array or comma
      >>> seperated list so I could store it in onefield.
      >>>
      >>> Right now here is what I have
      >>>
      >>> <%
      >>> strBuyBook1 = Trim(Request.Fo rm("buy_book1") )
      >>> strBuyBook2 = Trim(Request.Fo rm("buy_book2") )
      >>> strBuyBook3 = Trim(Request.Fo rm("buy_book3") )
      >>> strBuyBook4 = Trim(Request.Fo rm("buy_book4") )
      >>>
      >>> Connect to the database
      >>> call OpenDB()
      >>>
      >>> SQL = "INSERT INTO tblAnswers( BuyBook1, BuyBook2, BuyBook3,
      >>> BuyBook4)" & _ "VALUES ('" & strBuyBook1 & "', '" &
      >>> strBuyBook2 & "', '" &
      >>> strBuyBook3 & "', '" & strBuyBook4 & "')"
      >>>
      >>> con.Execute SQL
      >>>
      >>> %>
      >>>
      >>>
      >>> Thanks in anticipation
      >>> Simon[/color][/color][/color]


      Comment

      • Simon

        #4
        Re: More form processing

        Im trying really hard not to! Im not pulling any of my questions/options
        from a database I just want to save the results in a database.

        Could I email you my code?

        Thanks again
        Simon


        "Bob Barrows" <reb_01501@yaho o.com> wrote in message
        news:ehAwkZ$PDH A.2476@TK2MSFTN GP10.phx.gbl...[color=blue]
        > Nah, you're still thinking in spreadsheet terms. There are good reasons[/color]
        for[color=blue]
        > database normalization.
        > Simon wrote:[color=green]
        > > I agree I dont really want to store multiple values in a single
        > > field, I would like to have two fields in my database. I was
        > > thinking along the lines using the split function to create an array
        > > and inserting each array item into its own field. To do that I would
        > > have to prevent teh user form checking more than two checkboxes but
        > > Im not sure how to do that either :-\
        > >
        > >
        > > "Bob Barrows" <reb_01501@yaho o.com> wrote in message
        > > news:OICsO%23%2 3PDHA.3880@tk2m sftngp13.phx.gb l...[color=darkred]
        > >> <rant>
        > >> It is a bad idea to store multiple data values in a single field.
        > >> This is a database, not a spreadsheet. Someday you are going to need
        > >> to look at these values individually: think of the hell you are
        > >> going to go through to separate them out. Say you want to know what
        > >> percentage of people use a bookstore?
        > >> </rant>
        > >>
        > >> You should use a separate table called BookSources with two columns:
        > >> ResponseID and BookSource. ResponseID ties a booksource record back
        > >> to a response record. There will be a 1 to many relationship between
        > >> Responses and BookSources.
        > >>
        > >> If you give all four checkboxes the same name:
        > >> <INPUT type="checkbox" name="buy_book" value="Bookstor e">
        > >> <INPUT type="checkbox" name="buy_book" value="Online">
        > >> etc.
        > >> , you can process the inputs as a collection:
        > >>
        > >> 'You will need to have assigned a ResponseID prior to this step
        > >> for each vData in request.form("b uy_book")
        > >> SQL = "insert into BookSources Values (" & ResponseID & _
        > >> ", '" & vData & "')"
        > >> con.Execute SQL
        > >> next
        > >>
        > >> HTH,
        > >> Bob Barrows
        > >>
        > >> Simon wrote:
        > >>> Hey folks,
        > >>>
        > >>> I need some of your expertiese again. I am creating a survey form
        > >>> and need some help gathering the results of a question that has
        > >>> checkboxes. There are four options for one of the questions for
        > >>> example
        > >>>
        > >>> Where do you normally buy books?
        > >>> o Bookstore
        > >>> o Online
        > >>> o Book club
        > >>> o Other
        > >>>
        > >>> I'm going to store the answers in a DB and I dont want to have have
        > >>> four fields if only two of them are going to get used. Im trying to
        > >>> find a GOOD way to collect the results perhaps in an array or comma
        > >>> seperated list so I could store it in onefield.
        > >>>
        > >>> Right now here is what I have
        > >>>
        > >>> <%
        > >>> strBuyBook1 = Trim(Request.Fo rm("buy_book1") )
        > >>> strBuyBook2 = Trim(Request.Fo rm("buy_book2") )
        > >>> strBuyBook3 = Trim(Request.Fo rm("buy_book3") )
        > >>> strBuyBook4 = Trim(Request.Fo rm("buy_book4") )
        > >>>
        > >>> Connect to the database
        > >>> call OpenDB()
        > >>>
        > >>> SQL = "INSERT INTO tblAnswers( BuyBook1, BuyBook2, BuyBook3,
        > >>> BuyBook4)" & _ "VALUES ('" & strBuyBook1 & "', '" &
        > >>> strBuyBook2 & "', '" &
        > >>> strBuyBook3 & "', '" & strBuyBook4 & "')"
        > >>>
        > >>> con.Execute SQL
        > >>>
        > >>> %>
        > >>>
        > >>>
        > >>> Thanks in anticipation
        > >>> Simon[/color][/color]
        >
        >[/color]


        Comment

        • Bob Barrows

          #5
          Re: More form processing

          I've already given you a solution. Please read it again and try to
          understand it:
          Simon wrote:[color=blue][color=green][color=darkred]
          >>>>
          >>>> You should use a separate table called BookSources with two
          >>>> columns: ResponseID and BookSource. ResponseID ties a booksource
          >>>> record back to a response record. There will be a 1 to many
          >>>> relationship between Responses and BookSources.
          >>>>
          >>>> If you give all four checkboxes the same name:
          >>>> <INPUT type="checkbox" name="buy_book" value="Bookstor e">
          >>>> <INPUT type="checkbox" name="buy_book" value="Online">
          >>>> etc.
          >>>> , you can process the inputs as a collection:
          >>>>
          >>>> 'You will need to have assigned a ResponseID prior to this step
          >>>> for each vData in request.form("b uy_book")
          >>>> SQL = "insert into BookSources Values (" & ResponseID & _
          >>>> ", '" & vData & "')"
          >>>> con.Execute SQL
          >>>> next
          >>>>[/color][/color][/color]


          Comment

          • Andrew Durstewitz

            #6
            Re: More form processing

            If you want to follow more of a standard like Bob mentioned then here is
            a good article...



            Bob, the question sounded more to me like he wanted a simple, quick
            solution. That was my answere. Putting multiple returns in the same
            feild isn't the best idea but you can break those out into a nice
            multi-dimensional array for fast processing.

            Whereas, if you had to go loop through a recordset it would take you
            longer.
            </rant> :oP

            Andrew

            * * * Sent via DevBuilder http://www.devbuilder.org * * *
            Developer Resources for High End Developers.

            Comment

            • Simon

              #7
              Re: More form processing

              Bob,

              I have been thinking about what you said here but being somewhat of a novice
              when it comes to DB's Im having a hard time putting it together, I have
              searched all over (ok so thats probably an exageration) the web looking for
              examples on storing checkbox results in a datbase but to no avail.

              Do you think you could find it in your heart to provide me with an example?
              I know you have always been helpfull to me in the past.

              Thanks again
              Simon
              "Bob Barrows" <reb_01501@yaho o.com> wrote in message
              news:OICsO%23%2 3PDHA.3880@tk2m sftngp13.phx.gb l...[color=blue]
              > <rant>
              > It is a bad idea to store multiple data values in a single field. This is[/color]
              a[color=blue]
              > database, not a spreadsheet. Someday you are going to need to look at[/color]
              these[color=blue]
              > values individually: think of the hell you are going to go through to
              > separate them out. Say you want to know what percentage of people use a
              > bookstore?
              > </rant>
              >
              > You should use a separate table called BookSources with two columns:
              > ResponseID and BookSource. ResponseID ties a booksource record back to a
              > response record. There will be a 1 to many relationship between Responses
              > and BookSources.
              >
              > If you give all four checkboxes the same name:
              > <INPUT type="checkbox" name="buy_book" value="Bookstor e">
              > <INPUT type="checkbox" name="buy_book" value="Online">
              > etc.
              > , you can process the inputs as a collection:
              >
              > 'You will need to have assigned a ResponseID prior to this step
              > for each vData in request.form("b uy_book")
              > SQL = "insert into BookSources Values (" & ResponseID & _
              > ", '" & vData & "')"
              > con.Execute SQL
              > next
              >
              > HTH,
              > Bob Barrows
              >
              > Simon wrote:[color=green]
              > > Hey folks,
              > >
              > > I need some of your expertiese again. I am creating a survey form
              > > and need some help gathering the results of a question that has
              > > checkboxes. There are four options for one of the questions for
              > > example
              > >
              > > Where do you normally buy books?
              > > o Bookstore
              > > o Online
              > > o Book club
              > > o Other
              > >
              > > I'm going to store the answers in a DB and I dont want to have have
              > > four fields if only two of them are going to get used. Im trying to
              > > find a GOOD way to collect the results perhaps in an array or comma
              > > seperated list so I could store it in onefield.
              > >
              > > Right now here is what I have
              > >
              > > <%
              > > strBuyBook1 = Trim(Request.Fo rm("buy_book1") )
              > > strBuyBook2 = Trim(Request.Fo rm("buy_book2") )
              > > strBuyBook3 = Trim(Request.Fo rm("buy_book3") )
              > > strBuyBook4 = Trim(Request.Fo rm("buy_book4") )
              > >
              > > Connect to the database
              > > call OpenDB()
              > >
              > > SQL = "INSERT INTO tblAnswers( BuyBook1, BuyBook2, BuyBook3,
              > > BuyBook4)" & _ "VALUES ('" & strBuyBook1 & "', '" &
              > > strBuyBook2 & "', '" &
              > > strBuyBook3 & "', '" & strBuyBook4 & "')"
              > >
              > > con.Execute SQL
              > >
              > > %>
              > >
              > >
              > > Thanks in anticipation
              > > Simon[/color]
              >
              >[/color]


              Comment

              • Bob Barrows

                #8
                Re: Bob Barrows

                This will take a while. I am really busy today. Hopefully someone else will
                step in here. I'll check again later to see if you still need help.

                Bob

                Simon wrote:[color=blue]
                > Bob,
                >
                > I have been thinking about what you said here but being somewhat of a
                > novice when it comes to DB's Im having a hard time putting it
                > together, I have searched all over (ok so thats probably an
                > exageration) the web looking for examples on storing checkbox
                > results in a datbase but to no avail.
                >
                > Do you think you could find it in your heart to provide me with an
                > example? I know you have always been helpfull to me in the past.
                >
                > Thanks again
                > Simon
                > "Bob Barrows" <reb_01501@yaho o.com> wrote in message
                > news:OICsO%23%2 3PDHA.3880@tk2m sftngp13.phx.gb l...[color=green]
                >> <rant>
                >> It is a bad idea to store multiple data values in a single field.
                >> This is a database, not a spreadsheet. Someday you are going to need
                >> to look at these values individually: think of the hell you are
                >> going to go through to separate them out. Say you want to know what
                >> percentage of people use a bookstore?
                >> </rant>
                >>
                >> You should use a separate table called BookSources with two columns:
                >> ResponseID and BookSource. ResponseID ties a booksource record back
                >> to a response record. There will be a 1 to many relationship between
                >> Responses and BookSources.
                >>
                >> If you give all four checkboxes the same name:
                >> <INPUT type="checkbox" name="buy_book" value="Bookstor e">
                >> <INPUT type="checkbox" name="buy_book" value="Online">
                >> etc.
                >> , you can process the inputs as a collection:
                >>
                >> 'You will need to have assigned a ResponseID prior to this step
                >> for each vData in request.form("b uy_book")
                >> SQL = "insert into BookSources Values (" & ResponseID & _
                >> ", '" & vData & "')"
                >> con.Execute SQL
                >> next
                >>
                >> HTH,
                >> Bob Barrows
                >>
                >> Simon wrote:[color=darkred]
                >>> Hey folks,
                >>>
                >>> I need some of your expertiese again. I am creating a survey form
                >>> and need some help gathering the results of a question that has
                >>> checkboxes. There are four options for one of the questions for
                >>> example
                >>>
                >>> Where do you normally buy books?
                >>> o Bookstore
                >>> o Online
                >>> o Book club
                >>> o Other
                >>>
                >>> I'm going to store the answers in a DB and I dont want to have have
                >>> four fields if only two of them are going to get used. Im trying to
                >>> find a GOOD way to collect the results perhaps in an array or comma
                >>> seperated list so I could store it in onefield.
                >>>
                >>> Right now here is what I have
                >>>
                >>> <%
                >>> strBuyBook1 = Trim(Request.Fo rm("buy_book1") )
                >>> strBuyBook2 = Trim(Request.Fo rm("buy_book2") )
                >>> strBuyBook3 = Trim(Request.Fo rm("buy_book3") )
                >>> strBuyBook4 = Trim(Request.Fo rm("buy_book4") )
                >>>
                >>> Connect to the database
                >>> call OpenDB()
                >>>
                >>> SQL = "INSERT INTO tblAnswers( BuyBook1, BuyBook2, BuyBook3,
                >>> BuyBook4)" & _ "VALUES ('" & strBuyBook1 & "', '" &
                >>> strBuyBook2 & "', '" &
                >>> strBuyBook3 & "', '" & strBuyBook4 & "')"
                >>>
                >>> con.Execute SQL
                >>>
                >>> %>
                >>>
                >>>
                >>> Thanks in anticipation
                >>> Simon[/color][/color][/color]



                Comment

                • Simon

                  #9
                  Re: Bob Barrows

                  dont supose youhave had a chance to look at this Bob?

                  Sorry to be a pain.

                  simon
                  "Bob Barrows" <reb_01501@yaho o.com> wrote in message
                  news:exynUg4SDH A.2020@TK2MSFTN GP11.phx.gbl...[color=blue]
                  > This will take a while. I am really busy today. Hopefully someone else[/color]
                  will[color=blue]
                  > step in here. I'll check again later to see if you still need help.
                  >
                  > Bob
                  >
                  > Simon wrote:[color=green]
                  > > Bob,
                  > >
                  > > I have been thinking about what you said here but being somewhat of a
                  > > novice when it comes to DB's Im having a hard time putting it
                  > > together, I have searched all over (ok so thats probably an
                  > > exageration) the web looking for examples on storing checkbox
                  > > results in a datbase but to no avail.
                  > >
                  > > Do you think you could find it in your heart to provide me with an
                  > > example? I know you have always been helpfull to me in the past.
                  > >
                  > > Thanks again
                  > > Simon
                  > > "Bob Barrows" <reb_01501@yaho o.com> wrote in message
                  > > news:OICsO%23%2 3PDHA.3880@tk2m sftngp13.phx.gb l...[color=darkred]
                  > >> <rant>
                  > >> It is a bad idea to store multiple data values in a single field.
                  > >> This is a database, not a spreadsheet. Someday you are going to need
                  > >> to look at these values individually: think of the hell you are
                  > >> going to go through to separate them out. Say you want to know what
                  > >> percentage of people use a bookstore?
                  > >> </rant>
                  > >>
                  > >> You should use a separate table called BookSources with two columns:
                  > >> ResponseID and BookSource. ResponseID ties a booksource record back
                  > >> to a response record. There will be a 1 to many relationship between
                  > >> Responses and BookSources.
                  > >>
                  > >> If you give all four checkboxes the same name:
                  > >> <INPUT type="checkbox" name="buy_book" value="Bookstor e">
                  > >> <INPUT type="checkbox" name="buy_book" value="Online">
                  > >> etc.
                  > >> , you can process the inputs as a collection:
                  > >>
                  > >> 'You will need to have assigned a ResponseID prior to this step
                  > >> for each vData in request.form("b uy_book")
                  > >> SQL = "insert into BookSources Values (" & ResponseID & _
                  > >> ", '" & vData & "')"
                  > >> con.Execute SQL
                  > >> next
                  > >>
                  > >> HTH,
                  > >> Bob Barrows
                  > >>
                  > >> Simon wrote:
                  > >>> Hey folks,
                  > >>>
                  > >>> I need some of your expertiese again. I am creating a survey form
                  > >>> and need some help gathering the results of a question that has
                  > >>> checkboxes. There are four options for one of the questions for
                  > >>> example
                  > >>>
                  > >>> Where do you normally buy books?
                  > >>> o Bookstore
                  > >>> o Online
                  > >>> o Book club
                  > >>> o Other
                  > >>>
                  > >>> I'm going to store the answers in a DB and I dont want to have have
                  > >>> four fields if only two of them are going to get used. Im trying to
                  > >>> find a GOOD way to collect the results perhaps in an array or comma
                  > >>> seperated list so I could store it in onefield.
                  > >>>
                  > >>> Right now here is what I have
                  > >>>
                  > >>> <%
                  > >>> strBuyBook1 = Trim(Request.Fo rm("buy_book1") )
                  > >>> strBuyBook2 = Trim(Request.Fo rm("buy_book2") )
                  > >>> strBuyBook3 = Trim(Request.Fo rm("buy_book3") )
                  > >>> strBuyBook4 = Trim(Request.Fo rm("buy_book4") )
                  > >>>
                  > >>> Connect to the database
                  > >>> call OpenDB()
                  > >>>
                  > >>> SQL = "INSERT INTO tblAnswers( BuyBook1, BuyBook2, BuyBook3,
                  > >>> BuyBook4)" & _ "VALUES ('" & strBuyBook1 & "', '" &
                  > >>> strBuyBook2 & "', '" &
                  > >>> strBuyBook3 & "', '" & strBuyBook4 & "')"
                  > >>>
                  > >>> con.Execute SQL
                  > >>>
                  > >>> %>
                  > >>>
                  > >>>
                  > >>> Thanks in anticipation
                  > >>> Simon[/color][/color]
                  >
                  >
                  >[/color]


                  Comment

                  Working...