我对 PHP 和 MVC 模型相当陌生,因此,我担心这个问题可能很愚蠢。无论如何,我花了一天的时间寻找答案却毫无结果,也许是因为我没有正确地表达我的问题。
我试图让我的 View 反射(reflect)我对数据库所做的更改。这些更改是使用我通过 View 提交的表单进行的。
对于某些上下文: 我正在为用户建立一个订阅模型。在 View 上,我有单选按钮表单,用户可以在其中提交他们想要订阅的计划: 计划1、计划2、计划3。
一旦他们选择了计划,我就会使用 Controller 操作将该计划放入名为 plans
的数据库列中。
代码工作正常,当我检查数据库时,plan
列会相应更新。
但是,当我返回 View 并刷新并尝试打印列值时, View 并未显示更新后的值,而是显示先前的值。 刷新页面不会执行任何操作,但注销用户帐户并重新登录后, View 最终会反射(reflect)正确的值。
我的问题:
- 为什么我的 View 没有反射(reflect)数据库最近的更改?
- 我该怎么做才能使其反射(reflect)更改而无需再次注销/登录?
为了简洁起见,我省略了实际的代码。如果您认为这还不够,我会将其包含在内。
最佳答案
Php不会根据用户更改选项自动更新信息,因为您需要使用javascript(或Jquery)Ajax来检测更改(或等待固定时间),向服务器发送新请求,检索新信息,并更新页面
http://www.w3schools.com/jquery/jquery_ajax_intro.asp
在您的 mvc 中,您需要有一个 ajax 方法来接收信息并将新信息发送回客户端的浏览器
关于php - View 不反射(reflect)数据库的更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30444015/