Classic ASP question

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

    Classic ASP question

    I have very little experience of Classic ASP, but I need to take some
    data from a table, write it to the screen in a tabular format, show a
    check box at the end of every row, and write some code to enable the
    user to check all check boxes, and then some code to respond to a button
    click to find out which rows were checked.

    I know how to read data from a recordset and put it into a <table>
    object, but the rest, particularly the check box bits, are giving me
    problems. Can somebody please help me out?






    *** Sent via Developersdex http://www.developersdex.com ***
  • =?Utf-8?B?T2xkIFBlZGFudA==?=

    #2
    RE: Classic ASP question

    "Mike P" wrote:
    I have very little experience of Classic ASP, but I need to take some
    data from a table, write it to the screen in a tabular format, show a
    check box at the end of every row, and write some code to enable the
    user to check all check boxes, and then some code to respond to a button
    click to find out which rows were checked.
    Well, the "check all check boxes" will be JavaScript code, in the browser,
    nothing to do with ASP.

    And you don't say *WHAT* the code that "respond[s] to a button click" is
    supposed to do. Just say "You checked boxes 17, 33, and 42"??? Or delete
    records from the DB? Or copy records?

    In other words, does the response need to be JS in the browser or ASP code
    on the server?

    *ASSUMING* you mean that you want to (say) delete all the checked records,
    it's pretty easy.

    Since you give us so little info about your app, I'll make some simplistic
    assumptions. I'm doing it all on one page. So the <formsubmits back to
    the same page and, if there are an records to be deleted, they are deleted.
    Whether a delete occurred or not, all the non-deleted records are shown with
    checkboxes.

    <%
    Set conn = Server.CreateOb ject("ADODB.Con nection")
    conn.Open "...your connection string..."

    If Trim( Request("DELETE ") ) <"" Then
    ' submit was pushed, delete all checked records
    SQL = "DELETE FROM people WHERE id IN (" & Request("ZAP") & ")"
    howMany = -1
    conn.Execute SQL, howMany
    Response.Write "<h2>Delete d " & howMany & " records</h2><P>"
    End If
    %>
    <form method="POST">
    <table border=1 cellpadding=5>
    <%
    SQL = "SELECT ID, Name, Address FROM people"
    Set RS = yourAlreadyOpen Connection.Exec ute( SQL )
    Do Until RS.EOF
    %>
    <tr>
    <td><%=RS("Name ")%></td>
    <td><%=RS("Addr ess")%></td>
    <td><input type=checkbox name="ZAP" value="<%=RS("I D"%>"></td>
    </tr>
    <%
    RS.MoveNext
    Loop
    %>
    </table>
    <input type=submit value="Delete checked people" name="DELETE">
    </form>

    And that's all there is to it. Presto.

    p.s.: Assumes the the ID field is a numeric field. Minor change needed if
    it's a text field.

    Comment

    • =?Utf-8?B?T2xkIFBlZGFudA==?=

      #3
      RE: Classic ASP question

      Oh, what the heck...

      Here's the code for adding a "CHECK ALL" button:

      <HTML>
      <HEAD>
      <SCRIPT>
      function checkAll( cbs )
      {
      if ( cbs.length == null )
      {
      // if only one checkbox
      cbs.checked = true;
      return; // only one to do
      }
      for ( var c = 0; c < cbs.length; ++c )
      {
      cbs[c].checked = true;
      }
      }
      </SCRIPT>
      </HEAD>
      <BODY>
      <%
      Set conn = Server.CreateOb ject("ADODB.Con nection")
      conn.Open "...your connection string..."

      If Trim( Request("DELETE ") ) <"" Then
      ' submit was pushed, delete all checked records
      SQL = "DELETE FROM people WHERE id IN (" & Request("ZAP") & ")"
      howMany = -1
      conn.Execute SQL, howMany
      Response.Write "<h2>Delete d " & howMany & " records</h2><P>"
      End If
      %>
      <form method="POST">
      <INPUT Type=Button Value="Check all" onClick="checkA ll(this.form.ZA P);">
      <table border=1 cellpadding=5>
      <%
      SQL = "SELECT ID, Name, Address FROM people"
      Set RS = yourAlreadyOpen Connection.Exec ute( SQL )
      Do Until RS.EOF
      %>
      <tr>
      <td><%=RS("Name ")%></td>
      <td><%=RS("Addr ess")%></td>
      <td><input type=checkbox name="ZAP" value="<%=RS("I D"%>"></td>
      </tr>
      <%
      RS.MoveNext
      Loop
      %>
      </table>
      <input type=submit value="Delete checked people" name="DELETE">
      </form>
      </BODY></HTML>

      Should have mentioned that this is all off the top of my head, utterly
      untested. But it's warranted against bugs, anyway!

      Guaranteed to be free of carpenter ants and dung beetles for 30 picoseconds
      or 30 picometers, whichever comes first.


      Comment

      • Anthony Jones

        #4
        Re: Classic ASP question



        "Old Pedant" <OldPedant@disc ussions.microso ft.comwrote in message
        news:92DE18F5-C312-48DB-8EDE-DC8AD2F2183C@mi crosoft.com...
        Oh, what the heck...
        >
        Here's the code for adding a "CHECK ALL" button:
        >
        <HTML>
        <HEAD>
        <SCRIPT>
        function checkAll( cbs )
        {
        if ( cbs.length == null )
        {
        // if only one checkbox
        cbs.checked = true;
        return; // only one to do
        }
        for ( var c = 0; c < cbs.length; ++c )
        {
        cbs[c].checked = true;
        }
        }
        </SCRIPT>
        </HEAD>
        <BODY>
        <%
        Set conn = Server.CreateOb ject("ADODB.Con nection")
        conn.Open "...your connection string..."
        >
        If Trim( Request("DELETE ") ) <"" Then
        ' submit was pushed, delete all checked records
        SQL = "DELETE FROM people WHERE id IN (" & Request("ZAP") & ")"
        howMany = -1
        conn.Execute SQL, howMany
        Response.Write "<h2>Delete d " & howMany & " records</h2><P>"
        End If
        %>
        <form method="POST">
        <INPUT Type=Button Value="Check all" onClick="checkA ll(this.form.ZA P);">
        <table border=1 cellpadding=5>
        <%
        SQL = "SELECT ID, Name, Address FROM people"
        Set RS = yourAlreadyOpen Connection.Exec ute( SQL )
        Do Until RS.EOF
        %>
        <tr>
        <td><%=RS("Name ")%></td>
        <td><%=RS("Addr ess")%></td>
        <td><input type=checkbox name="ZAP" value="<%=RS("I D"%>"></td>
        </tr>
        <%
        RS.MoveNext
        Loop
        %>
        </table>
        <input type=submit value="Delete checked people" name="DELETE">
        </form>
        </BODY></HTML>
        >
        Should have mentioned that this is all off the top of my head, utterly
        untested. But it's warranted against bugs, anyway!
        >
        What happens if there no records and the user presses the button ;)


        --
        Anthony Jones - MVP ASP/ASP.NET


        Comment

        • =?Utf-8?B?T2xkIFBlZGFudA==?=

          #5
          Re: Classic ASP question


          "Anthony Jones" wrote:
          What happens if there no records and the user presses the button ;)
          Hey, that's what the warranty is for!!


          Comment

          • Mike P

            #6
            Re: Classic ASP question

            Thank you both for your help! What I was looking to do when submitting
            the page is to add all the records that are checked to an array, because
            I will need to pass the information to another page and then populate a
            dropdown with the email addresses of all the people who were checked on
            the previous page.

            Cheers,

            Mike


            *** Sent via Developersdex http://www.developersdex.com ***

            Comment

            Working...