如何维护每个用户的数据?

时间:2014-10-05 10:46:43

标签: php jquery data-synchronization multi-user

所以所有的编码忍者都在那里,我已经开始探索Web开发的世界(我应该说,它真是太棒了)。我陷入了困境。

我在做什么:我的HTML看起来像这样

<ul data-role="listview" > <!-- List items come here --> </ul>

这些列表项是通过对PHP函数的AJAX调用动态生成的(我正在考虑使用Pagination,因为UL中的数据可能会增长)。

直到现在我正在使用单个用户场景(一次只有一个用户访问该网站)。数据看起来不错。

问题现在我想增加用户的存在。很多用户同时登录。我会遇到这样的情况:

用户A:使用DB中的当前方案生成UL(比如10行

用户B进入并点击刷新我的UL和Gone!用户A将不再拥有他/她正在使用的数据集,现在他有 12行(数据库表还有2个插入)

问题:如果问一个愚蠢的问题,请原谅我。如何克服访问相同数据但不影响其他用户的多用户方案?

如果给出的解决方案很容易被像我这样的初学者消化,那将非常有用: - )

修改: 让我举个例子:

用户A已登录: 目前我在数据库中有5行,如

  • 哈姆雷特
  • 麦克白
  • 布鲁
  • 凯撒
  • 威廉

所以我的UL看起来像这样:

<ul data-role="listview" id="authors"> 
   <li>Hamlet</li>
   <li>Macbeth</li>
   <li>Brutus</li>
   <li>Caesar</li>
   <li>William</li> 
</ul>

现在用户B登录并且数据库中有额外插入

  • 哈姆雷特
  • 麦克白
  • 布鲁
  • 凯撒
  • 威廉
  • 安东尼奥

所以我的UL应该是 (仅适用于用户B,不适用于用户A)

<ul data-role="listview" id="authors"> 
   <li>Hamlet</li>
   <li>Macbeth</li>
   <li>Brutus</li>
   <li>Caesar</li>
   <li>William</li> 
   <li>Antonio</li> 
</ul>

1 个答案:

答案 0 :(得分:0)

我最好的猜测:在表格中添加一个包含数据所属用户ID的数据

然后从您的表中选择userID,其中userID与请求数据的当前用户匹配

+--------+------+   +--------+---------+--------+
| UserID | Name |   | ItemID | Content | UserID | 
+--------+------+   +--------+---------+--------+
| 1      | John |   | 123    | Lorem.. | 2      | <-- This row belongs to Bill 
| 2      | Bill |   | 124    | Lipsu.. | 1      | <-- This row belongs to John
| 3      | etc. |   +--------+---------+--------+
+--------+------+

-- This query would select data belonging to the user Bill
SELECT `Content` FROM `yourdatatable` WHERE `UserID` = 2