Richard Davey wrote:
Todd Cary wrote:

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
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

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to