假设我正在构建foursquare
,用户可以修改venues
,并且在管理员批准之前不会立即进行更改,
我有Venues
的表格,
因此,对于我上面解释的功能,我需要另一个表,可能是“ProposeEdits'保存Venue
的编辑,然后在接受标记时完成?
答案 0 :(得分:1)
绝对没有。
您需要在表ALTER TABLE HLV ADD gender char(1) NULL
INSERT HLV (id, birthday, full_name, win, lose, draw)
VALUES ('HLV0001', GETDATE(), 'first last', 10, 5, 6)
INSERT HLV (full_name, id, birthday)
VALUES ('last, first', 'HLV0002', GETDATE())
的末尾添加一列名为status。
在Venue
中为管理员PHP
创建一个页面。
当用户编辑Venue时,您只需将状态设置为否
当管理员打开AcceptVenue.php
时,以表格形式列出所有编辑内容,其中两个按钮接受或拒绝。
当admin接受并编辑时,只需将状态更新为YES,否则保持不变。
我没有发布代码。首先,如果您遇到任何问题,我会帮助您。
<强>情境:强>
AcceptVenue.php
用户编辑值但状态仍未更改
管理员打开Venue table : (id,name,venue,date,event,status-default=NO)
列出所有这样的记录:
AcceptVenue.php
基于管理操作运行sql查询
Name Venu Date Event Action
xyz zux 12/12/12 xyz Accept Reject
更新2 如果你想保留两个版本:
proposedEditTable
"update venue set status='YES' where id='venueId'"
当admin接受编辑时您只需要运行
(id,name,venue,date,event,original_venue_id,status-default=NO)
original_venue_id会跟踪场地表中正在编辑的行
答案 1 :(得分:0)
Table 1 : venues
Table 2 : temp_venues
event 1 : user edits the venue
step 1 : store the user id and venue in temp_venue
step 2 : show temp_venues entries to admins
event 2 : admin approves the venue
step 1 : copy row from Table temp_venues
step 2 : insert row in Table venues
step 3 : delete row from Table temp_venues