在 PHP 中,当同一页面的其他实例更改时,更新页面
Update page as other instances of the same page changes in PHP
这是我的问题。我有一个用户的登录名。许多用户可以使用相同的凭据登录。当用户登录时,他们会看到一组单选按钮。假设User A
、User B
和User C
同时登录。当User A
选择某些单选按钮时,User B
和User C
还应在其页面中看到它们处于选中状态。(反之亦然)如果User B
再次更改选定的单选按钮,User A
和User C
应在其页面中获取该更新的值。像这样,最新的选择应该在所有页面中可见。请帮我解决这个问题。
不久前我做了类似的设置,当用户切换部门视图时,应用程序的所有打开页面都会提示他有关更改并切换到活动部门视图。
我做了如下。
在用户会话中存储所需的变量。在您的情况下,由于您需要在多个用户之间使用它,因此会话不会这样做 - 将其存储在数据库或平面文件中。在您的情况下,这些变量会在无线电onChange
事件上更新。
使以下 JS 可用于相关页面。请注意,我使用了onFocus
因为这是我需要的,您可能需要使用setInterval()
window.onfocus = function(e) {
var_check();
};
function var_check(){
$.ajax({
url: 'home/check_vars_ajax',
type:'POST',
dataType: 'text',
data : {[YOUR DATA]}
}).done(function(data){
// ...
// handle selecting releavant radio buttons here
});
}
总结一下:
- 将您的无线电选择写入数据库或平面文件(通过 AJAX)
- 设置检测信号调用以检查服务器上的当前状态 (AJAX)
- 相应地更新无线电选择
另一种方法是选择WebRTC
,这基本上允许您屏幕共享用户页面并在其他用户上显示结果,反之亦然。它具有非常整洁的API,您可以查看很多示例。教程可用,其主页本身就是一个很好的起点
但是关于你的具体问题,我不能给你一个明确的答案,因为这个问题本身并不广泛(在我看来)。所以检查一下,希望它有所帮助。
您可以通过简单的数据库查询来完成此操作。它的工作原理是,当有人登录页面时,它会从数据库行中获取一个变量。在设定的时间,页面查询数据库。如果数据库中的值已更改,请将该行更新 1。其他页面将按您设置的时间间隔进行查询,并使用 AJAX 更新页面。这是一次更新所有页面的好方法。这是这方面的教程。
AJAX 自动刷新
您可以在此页面上的请求框中看到修改后的示例自动收音机
它很容易修改。基本要素就在那里。
- 从Sequelize中的非实例更新
- 更新Redux状态&然后在同一实例中获取更新状态
- 使用 JavaScript 中的实例更新原型
- 如何使用每个ajax请求更新实例变量
- 原型值不会针对 js 中的每个实例更新,为什么
- 在 PHP 中,当同一页面的其他实例更改时,更新页面
- 运行 AJAX 函数的多个实例 - 仅第二个实例更新
- 如何允许 ActiveX 对象在 JavaScript 中实例化之前安装更新的版本
- 按需更新许多 Highcharts 实例的最佳性能
- Angularjs - 更新同一控制器的多个实例
- 获取所有实例化的javascript对象并更新值
- Javascript PHP更新所有打开的实例,如Facebook
- 如何更新表示相同数据的两个不同React组件实例
- 在保存新的模型实例之后,在Ember.js中转换到路由之前,更新资源模型
- 更新CKEditor'在实例已经创建之后,通过JavaScript创建的CSS
- 如何使用jquery隐藏/更新/显示具有相同ID的多个实例
- 添加新的行实例,无法更新单元格原始值
- 更新现有HandsOnTable实例的设置
- 如何用原型函数更新实例属性,并从另一个函数访问它
- 当其他人通过同一页面的另一个实例更新数据库时,我想更新我的网页