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