查看不反映数据库的更新

时间:2015-05-25 18:23:06

标签: php mysql model-view-controller

我是PHP和MVC模型的新手,因此我担心这个问题可能很愚蠢。无论如何,我花了一整天寻找无济于事的答案,也许是因为我没有正确地回答我的问题。

我试图让我的View反映我对数据库所做的更改。这些更改是使用我通过View提交的表单进行的。

对于某些情况: 我正在为用户构建订阅模型。在视图中,我有单选按钮表单,用户提交他们想要订阅的计划: 计划1,计划2,计划3.

一旦他们选择了计划,我就会使用Controller Action将计划放入名为plans的数据库列中。

代码工作正常,当我检查数据库时,plan列会相应更新。

但是,当我回到视图并刷新并尝试打印列值时,视图不显示更新的值,而是显示先前的值。 刷新页面不会执行任何操作,但在注销用户帐户并重新登录后,视图最终会反映正确的值。

我的问题:

  1. 为什么我的观点没有反映最近对数据库的更改?
  2. 如何让它反映更改而无需再次注销/登录?
  3. 为了简洁起见,我遗漏了实际的代码。如果你觉得这个信息不够,我会把它包括在内。

1 个答案:

答案 0 :(得分:0)

Php不会根据用户更改选项自动续订信息,因为您需要使用javascript(或Jquery)Ajax来检测更改(或等待一段固定时间),向服务器发送新请求,检索新信息,并更新页面

http://www.w3schools.com/jquery/jquery_ajax_intro.asp

在您的mvc中,您需要一个接收信息的ajax方法并将新信息发送回客户端的浏览器

http://www.phpied.com/ajax-mvc/