我应该如何在数据库中保存建议的编辑

时间:2015-04-30 05:42:00

标签: mysql sql foursquare

假设我正在构建foursquare,用户可以修改venues,并且在管理员批准之前不会立即进行更改,

我有Venues的表格,

因此,对于我上面解释的功能,我需要另一个表,可能是“ProposeEdits'保存Venue的编辑,然后在接受标记时完成?

2 个答案:

答案 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