gpt4 book ai didi

html - 当数据库中的值更改时,我如何刷新页面的一部分(Codeigniter)?

转载 作者:行者123 更新时间:2023-11-28 14:08:40 24 4
gpt4 key购买 nike

我正在使用 codeigniter 开发在线食品配送系统。这是显示订单状态的部分。它在数据库中得到更新。

<td>
<?php
if ($order_current_status==0)
{?>
<button style="background-color: #FAA0C7;color:#000;cursor: context-menu;" type="button" class="btn"> New</button>
<?php
}
elseif ($order_current_status==3)
{?>
<button style="background-color: #6ED1FB;color:#000;cursor: context-menu;" type="button" class="btn"> Ready</button>
<?php
}
elseif ($order_current_status==5)
{?>
<button style="background-color: #FEE609;color:#000;cursor: context-menu;" type="button" class="btn">On the way</button>
<?php
}
elseif ($order_current_status==6)
{?>
<button style="background-color: #7FFFD4;color:#000;cursor: context-menu;" type="button" class="btn">Delivered</button>
<?php
}?>
</td>

谁能告诉我如何在不刷新页面的情况下从数据库中看到值的变化?

最佳答案

首先你应该准备HTML页面:

<td>
<button type="button" class="btn" id="ch_button"></button>
</td>

第二步是用 Ajax 准备 JS(JQuery):

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script type="text/javascript">
$(function(){

update_button();
})

function timerss(){
var s1= new Date();
var c1= s1.setSeconds(s1.getSeconds() + 2); // update in 2seconds

var x1= setInterval(function() {
var n1= new Date().getTime();
var d1= c1 - n1;

if (d1< 0) {

clearInterval(x1);
update_button();
}
}, 1000);

};

function update_button(){
$.ajax({
url:"/index.php/controller1/method1",
method:"POST",
data: null
}).done(function(ans) {

if (ans == 0) {
$('#ch_button').attr('style','background-color: #FAA0C7;color:#000;cursor: context-menu;');
$('#ch_button').html('New');
timerss();
}
else if (ans == 3) {
$('#ch_button').attr('style','background-color: #6ED1FB;color:#000;cursor: context-menu;');
$('#ch_button').html('Ready');
timerss();
}
else if (ans == 5) {
$('#ch_button').attr('style','background-color: #FEE609;color:#000;cursor: context-menu;');
$('#ch_button').html('On the way');
timerss();
}
else if (ans == 6) {
$('#ch_button').attr('style','background-color: #7FFFD4;color:#000;cursor: context-menu;');
$('#ch_button').html('Delivered');
}
}).fail(function (){

alert('Ajax has been failed.');
});
}
</script>

第三步是制作一个 Controller 方法,该方法将从数据库中获取变量值。在这里你应该做所有你需要知道 $order_current_status 值的事情:

<?php
class Controller1 extends CI_Controller {

public function __construct() {
parent::__construct();
}

public function method1() {
// get value of $order_current_status
$order_current_status = 5; // for example

echo $order_current_status;
}
}

如果您按照此说明执行每一步,您将获得想要的结果。它对我有用,接下来轮到你了。

关于html - 当数据库中的值更改时,我如何刷新页面的一部分(Codeigniter)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56845626/

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