The one word answer is ... loops.

What you need to do is create loops both on the form and in the processing
of the update action. The first loop is easy because it already exists in
the form of the <@ROWS> loop. You need to add something to uniquely identify
each field. Inside the <@ROWS> loop, instead of calling the update field
paid (an example), call it paid<@CURROW> which will produce paid1, paid2,
etc. This gives you a set of unique arguments, one for each resultset.
Actually you'll need two fields, one of which contains the primary key so if
the primary key for the table is 'studentid' and the field you wish to
change is 'paid' you'd have studentid<@CURROW> and paid<@CURROW> as the
names of your fields. The first will probably be a hidden field. You'll also
need another single hidden field which contains the number of rows to
process.

<FORM METHOD=POST ACTION="<@CGI><@APPFILE>">
<@ROW>
<INPUT TYPE=HIDDEN NAME="studentid<@CURROW>"  VALUE="<@COLUMN
tablename.studentid>">
<INPUT TYPE=CHECKBOX NAME="paid<@CURROW>" VALUE="1">
</@ROW>
<INPUT TYPE=HIDDEN NAME="studentnumrows"  VALUE="<@NUMROWS>">
<P>
<INPUT TYPE=SUBMIT NAME="Submit" VALUE="Submit">
<INPUT TYPE=RESET VALUE=Reset>
</FORM>

This gives you a pair of fields, one for each row in your results. It also
gives you another single hidden field which contains the number of rows to
process.

In the update section, add a FOR action with 'To:' value set to <@ARG
studentnumrows> and use l_counter as the Counter Variable for this action.
This will cause the update to be peformed x number of times where x is the
number of rows processed.

Put your update action inside of this loop and for the value of the 'select
rows matching these columns' use <@ARG NAME="studentid<@VAR
NAME='local$l_counter'>">. For the value of the 'Update them with these
values' use <@ARG NAME="paid<@VAR NAME='local$l_counter'>">. Each time
through the FOR Loop action, l_counter will get incremented automatically so
it will process studentid1/paid1, studentid2/paid2, studentid3/paid3, until
it reaches studentnumrows which was the original number of records.

Hope this helps,

Steve Smith

Oakbridge Information Solutions
Office: (519) 624-4388
GTA:    (416) 606-3885
Fax:    (519) 624-3353
Cell:   (416) 606-3885
Email:  [EMAIL PROTECTED]
Web:    http://www.oakbridge.ca


> -----Original Message-----
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED]]On Behalf Of Rick Haden
> Sent: December 3, 2002 4:39 AM
> To: Multiple recipients of list witango-talk
> Subject: Witango-Talk: updating multiple records
>
>
> Wish I knew this program better...is there a way of updating a list of
> records all at once...ok...I do a search and get a resultset...I need to
> go down the list and tick a checkbox on a few of them then click a
> button to update all those checked. But when I click the button all I
> get is the first one...I am obviously missing something very fundamental
>
> ____________________________
> Rick Haden
> Director - IS/IT
> Trident Communications
> 3 Selsdon Way
> City Harbour
> London
> E14 9GL
> UK
> Tel: +44 20 7536 8924
> Fax +44 20 7536 8999
> www.tridentcommunications.net
> Connecting Ideas <> Delivering Results
>
> This email from Trident Communications is for the attention of the
> addressee only. It may contain information that is confidential and/or
> privileged and should not be reproduced and/or distributed to any other
> person without the consent of Trident.
> _______________________
>
>
>
> ________________________________________________________________________
> TO UNSUBSCRIBE: send a plain text/US ASCII email to [EMAIL PROTECTED]
>                 with unsubscribe witango-talk in the message body
>

________________________________________________________________________
TO UNSUBSCRIBE: send a plain text/US ASCII email to [EMAIL PROTECTED]
                with unsubscribe witango-talk in the message body

Reply via email to