Home     |     Java    |     Php General    |     Oracle Database    |     Oracle Server  

MS Dynamics CRM 3.0

  •  Setting up and Configuring Microsoft Dynamics CRM 3.0
  •  Managing Security and Information Access
  •  Entity Customization: Concepts and Attributes
  •  Entity Customization: Forms and Views
  •  Entity Customization: Relationships, Custom Entities, and Site Map
  •  Reporting and Analysis
  •  Workflow
  •  Server-Side SDK
  •  Client-Side SDK
  •  Integration with External Applications
  • Cervo Technologies
    The Right Source to Outsource

    Sharepoint Portal Server KB

    Microsoft CRM Info

    WPF Interview Questions

    SilverLight Interview Qs

    Asp.Net 2.0 Interview Qs

    Asp.NET 1.1 FAQs

    Oracle Interview Questions

    SAP Interview Questions

    PHP Programming

    Processing a table of input fields


    I create a table of input fields so the user (secretary at a
    Rotary meeting) can check mark if the person attended and how
    much they paid for lunch.  Each input field name has the user ID
    as part of it.  What is the best way to process the table when
    the submit button is pressed?  There are about 50 rows in the table.

    Sample of one row for member 590:

    <tr>
    <td><input type="checkbox" name="590_attend" value="1">
    </td>
    <td>05/11/2007</td><td>Theressa</td><td>Bryant</td><td><input
    type="text" name="590_pay" value="16" size="5" maxlength="4"></td>
    <td><input type="text" name="590_charge" value="16" size="5"
    maxlength="4"></td>
    <td><input type="text" name="590_note"" size="26"
    maxlength="25"></td>
    </tr>

    Personally I'd do it like this (if you are displaying say 50 checkboxes
    on the page at once)

    Name each checkbox so the they go into an array, i.e.:

    <input type="checkbox" name="attend[]" value="590">
    <input type="checkbox" name="attend[]" value="591">
    <input type="checkbox" name="attend[]" value="592">

    Then in your PHP script you can simply loop through the attend array
    ($_POST['attend']) and extract all the IDs of those people who were
    ticked. If they weren't ticked, they won't be in your array.

    Cheers,

    Rich
    --
    Zend Certified Engineer
    http://www.corephp.co.uk

    "Never trust a computer you can't throw out of a window"

    -----------------------------------------------Reply-----------------------------------------------

    I would do it even a different way

    <tr>
    <td><input type="checkbox" name="list[590][attend]" value="1"></td>
    <td>05/11/2007</td>
    <td>Theressa</td>
    <td>Bryant</td>
    <td><input type="text" name="list[590][pay]" value="16" size="5" maxlength="4"></td>
    <td><input type="text" name="list[590][charge]" value="16" size="5" maxlength="4"></td>
    <td><input type="text" name="list[590][note]" size="26" maxlength="25"></td>
    </tr>

    Then on the PHP side this.

    if ( isset($_POST['list']) && count($_POST['list']) > 0 ) {
            foreach ( $_POST['list'] AS $id => $data ) {
                    if ( isset($data['attend']) && $data['attend'] == '1' ) {
                            # do stuff related to them attending the meal
                    }
            }

    }

    This way, everything the grouped in one big array.  You don't have to worry about checking for
    values in each array, it is all right there.  Keeping things in sync is much easier this way.

    Hope this helps

    --
    Jim Lucas

        "Some men are born to greatness, some achieve greatness,
            and some have greatness thrust upon them."

    Unknown

    -----------------------------------------------Reply-----------------------------------------------

    WOW!  Now it is quite refined!  Thank you for contributions.

    Todd

    -----------------------------------------------Reply-----------------------------------------------

    Thanks again!  Have it working for the initial entry and the
    recreation of the table for editing based on the array.

    Todd

    -----------------------------------------------Reply-----------------------------------------------

    Use name="attend[<?php echo $user_id?>]"

    This will simplify life immensely on the processing side where you can
    just iterate through $_POST['attend'] as an array and have the
    $user_id.

    Ditto for the pay[<?php echo $user_id?>] and other fields.

    Note that the checkboxes will ONLY send in keys/values for the checked
    ones -- You get nothing for the unchecked ones -- which is fine, you
    assume they weren't there if they weren't checked.

    --
    Some people have a "gift" link here.
    Know what I want?
    I want you to buy a CD from some indie artist.
    http://cdbaby.com/browse/from/lynch
    Yeah, I get a buck. So?
    Add to del.icio.us | Digg this | Stumble it | Powered by Megasolutions Inc