On 28 May 2004 04:47, Albert Padley wrote:

> I feel I'm so close.
> 
> I have a form with multiple database records with a checkbox to
> indicate which records to update set up like so:
> 
> $name = "ed[" . $row['id'] . "]";
> 
> <input type=\"checkbox\" name=\"" . $name . "\" value=\"Y\">
> 
> Each text input is set up like so:
> 
> <input type=\text\" name=\"fname[]\" value=\"" . $row['fname'] . "\">
> 
> On the processing page I am doing this:
> 
> foreach($ed as $id=>$val){
>       $query = "UPDATE ref_events_reg
>                SET    fname = '$fname'
>                       WHERE id = '{$id}'";
> 
> I am looping through the correct records, but every field is being
> updated to "Array". 
> 
> What tweak do I need to make?

I'd make two tweaks, actually.  First and most obviously, you're not selecting *which* 
fname field to pass to your update query, so this needs to be:

    $query = "UPDATE ref_events_reg
             SET     fname = '{$fname[$id]}'
                     WHERE id = '{$id}'";

(By putting just $fname there, you are telling PHP to insert the string representation 
of the whole array -- and the string representation of any array is, er, exactly 
"Array"! ;)

This change may give you a clue to my other tweak -- I'd explicitly set the indexes of 
all the fname[] fields to be sure they sync correctly to the related check box, thus:

    <input type=\"checkbox\" name=\"ed[{$row['id']}]\" value=\"Y\">
    <input type=\"text\" name=\"fname[{$row['id']}]\" value=\"{$row['fname']}\">

Cheers!

Mike

---------------------------------------------------------------------
Mike Ford,  Electronic Information Services Adviser,
Learning Support Services, Learning & Information Services,
JG125, James Graham Building, Leeds Metropolitan University,
Headingley Campus, LEEDS,  LS6 3QS,  United Kingdom
Email: [EMAIL PROTECTED]
Tel: +44 113 283 2600 extn 4730      Fax:  +44 113 283 3211 

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

Reply via email to