gpt4 book ai didi

每个用户的 php 限制 View

转载 作者:行者123 更新时间:2023-11-30 23:44:37 25 4
gpt4 key购买 nike

首先我必须说这是我的第二个问题(第一个被关闭因为我没有很好地解释我的问题)

我正在构建供我们 50-60 名员工使用的数据库。在我们的基地中,我们有很多客户(1 行 = 1 个客户)。想法是当员工打开页面时,它应该显示一个客户,但是如果另一个员工打开同一个页面它应该显示另一个客户(我想避免如果 2 个员工同时按下刷新按钮,页面不会显示同一个客户的情况。

我有这个 php 代码用于从 base 获取数据,但如果我同时推送刷新,它会在 2 台 PC 上给我相同的结果。我怎样才能避免这种情况

在表 telesales_anc 中,我有“Lock_ID”列,当页面打开时,php 将其更新为“1”

是否有任何函数可以“保持”与行的连接或类似的东西?我试着用谷歌搜索,但我只找到了一些带计时器的解决方案(但我认为这是个坏主意,而且仍然可以同时打开 2 个 emlpoyes)

$MSISDN = "SELECT MSISDN FROM telesales_anc WHERE Lock_ID != 1 LIMIT 1";
$result = $mysqli->query($MSISDN);

while ( $row = $result->fetch_assoc() ) {
$IDcheck = "SELECT ID FROM telesales_anc WHERE '{$row['MSISDN']}' = MSISDN";
$result_IDcheck = $mysqli->query($IDcheck);

while ( $row = $result_IDcheck->fetch_assoc()) {
$lock_ID = "UPDATE telesales_anc SET Lock_ID = 1 where '{$row['ID']}' = ID";
$result_ID = $mysqli->query($lock_ID);

}}

最佳答案

我在很短的时间内添加了一个 usleep() 来等待其他用户锁定,并在第二个 sql AND Lock_ID!=1 处做了一个小改动,所以如果其他用户锁定了它,你就不会获取这个,请注意,您需要一些循环来重试以获取未锁定的

$MSISDN = "SELECT MSISDN FROM telesales_anc WHERE Lock_ID != 1 LIMIT 1";
$result = $mysqli->query($MSISDN);

usleep(rand(100000,300000)); // we are sleeping randomly between 0.1 - 0.3 seconds for waiting the other users lock
while ( $row = $result->fetch_assoc() ) {
$IDcheck = "SELECT ID FROM telesales_anc WHERE '{$row['MSISDN']}' = MSISDN AND Lock_ID != 1";
$result_IDcheck = $mysqli->query($IDcheck);

while ( $row = $result_IDcheck->fetch_assoc()) {
$lock_ID = "UPDATE telesales_anc SET Lock_ID = 1 where '{$row['ID']}' = ID";
$result_ID = $mysqli->query($lock_ID);

}}

关于每个用户的 php 限制 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46467971/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com