[ic] How to "lock" a record?
DB
DB at M-and-D.com
Wed Jun 23 09:29:58 EDT 2004
>> I'm developing a 5.2/foundation based catalog to allow several people to
>> collaborate on order processing. The order data is stored in a mysql
>> table. I'm nearly finished except for one issue. I need to be sure that
>> only one person at a time is working on a given order.
>>
>> My first thought is to add a new column to the table that holds the
>> order records, and have users "sign out" the records they're working on
>> by entering their initials into that field.
>>
>> Does anyone have a better way or any other suggestions? Maybe there is
>> an existing mechanism that addresses this problem? All suggestions are
>> welcome.
>
> I would probably set a new lock-column and a edited_by column, and add a
> timestamp + the username when a user starts editing it (check the code that
> is found in the UI for activating and deactivating a customer). When the
> user is ready with his/her editing, then It would clear the timestamp from
> the lock-column. You should then also remeber to have a cron-job that
> auto-clears the lock-field if the timestamp is older that x-minutes. The
> username would help the same user to return to his/her unfinished record
> before the cron resets the field (if eg. browser crashese etc.)
>
> Rene
Thanks... that sounds like what I had in mind and I have added the two
columns. Here is how I currently link to the page where the order data
is edited:
<FORM METHOD=POST ACTION="[process]">
<INPUT TYPE=HIDDEN name="mv_doit" value="return">
<INPUT TYPE=HIDDEN name="mv_nextpage" value="update_order">
Update Order<br>
<select name=update_code>
[loop option=order_number search="
st=db
ra=yes
fi=MDorders
rf=order_number
ml=1000
tf=order_number
to=n
"]
<option value="[loop-data MDorders order_number]">
[loop-data MDorders order_number]</option>
[/loop]
</select><br>
<INPUT TYPE=SUBMIT name="mv_submit" Value="Go">
</FORM>
I want to to add a timestamp to the "locked" field when the "go" button
on the above form is clicked. Can that be done somehow or would I have
to use two steps: 1) add the timestamp, then 2) open the page where the
edits are made.
DB
More information about the interchange-users
mailing list