提问者:小点点

如何在数据库中发生数据更改时刷新特定的DIV而不重新加载整个页面?


在下面的代码中,您可以看到一个DIV class=“inprg”在数据库字段'trans_status='的值上显示消息和屏幕上的几个按钮,但是用户需要重新加载页面。 我怎样才能使它自动?

<?php
        
        $where="where qu_id={$b_info['qid']} and (trans_status = 'Completed')  ";
        $order_list=$obj->get_all_records("manage_order",$where,"order_id","DESC");
        if(($_SESSION['u_id']==$buyeridaaa || ($_SESSION['u_id']==$s_id)) && !empty($r))
        {
            $token=$order_list[0]['token'];
            $release_flag=$order_list[0]['release_flag'];
            $ord_dispute=$order_list[0]['dispute'];
            echo '<div class="toolbar"><div class="in_progr">';
            if($release_flag=='N' && $ord_dispute=='N')
            {   
                $inprog='<div id="order_status1" class="inprg" style="color:#81CC40">Deposited: '.$order_list[0]['order_amt'] .'&#8381;</div>';
                if($_SESSION['u_id']==$buyeridaaa)
                {
                    echo '<form action="" method="post"><input type="hidden" name="tkn" value="'.$token.'">';
                    echo $dispute_b.'<button type="submit" class="release_btn" name="submit_release" value="1">Release</button>
                    </form>'.$inprog;
                }
                else if($_SESSION['u_id']==$s_id)
                {
                    echo $inprog;
                }
            }
            else if ($ord_dispute=='Y') {
                
                echo '<div id="order_status2" class="inprg" style="color:red">Deal disputed!</div>';
            
            }
            else
            {
                echo '<div id="order_status3" class="inprg" style="color:orange">No Deposit!</div>';
            }
            
            
            echo '</div></div>';
        }
        
        ?>

共1个答案

匿名用户

您要查找的内容称为websockets:https://www.google.com/search?q=websockets

Websockets允许前端连接到后端,并允许后端向前端发送消息,前端可以对此做出反应。

有多个库和服务可以帮助您建立这一点。 我建议您首先研究一下技术和可用的工具。