dongsu4345 2017-10-29 07:54
浏览 42

使用php和ajax实时获取数据

I want to fetch all user's name in a page from mysql and once clicked on a name their email id should be displayed in real time.

the new.php and email.php are given below:

<html>
<head>
</head>
<body>
<?php
$con=mysqli_connect('localhost','root','','test');
$sql="select * from users";
$res=mysqli_query($con,$sql);
while($row=mysqli_fetch_array($res)){
?>
<a href="email.php?id=<?php echo $row['id']; ?>"> <?php echo $row['name'] ?>
</a><br />

<?php

}


?>
</body>
</html>



<html>
<head>
</head>
<body>
<?php
$con=mysqli_connect('localhost','root','','test');
$id=$_GET['id'];
$sql="select * from users where id= '$id'";
$res=mysqli_query($con,$sql);
while($row=mysqli_fetch_array($res)){
echo $row['email'];
}


?>
</body>
</html>
  • 写回答

1条回答 默认 最新

  • dongluanan7163 2017-10-29 09:10
    关注

    Something like this ( -note- I didn't test this at all, but this is the basic idea )

    page.php

    <html>
        <head>
            <script type="text/javascript">
                   function getLinks(){
                        //use ajax to get the links
                        var xhttp = new XMLHttpRequest();
                        xhttp.onreadystatechange = function() {
                            if (this.readyState == 4 && this.status == 200) {   
                              document.getElementById("link_wrapper").innerHTML = this.responseText;
                            }
                        };
                        xhttp.open("GET", "get_user_email.php", true);
                        xhttp.send();
                    }
    
                    setInterval( function(){
                        //call getLinks every 5000 milliseconds
                        getLinks();
                    },5000);
    
                    //call getLinks on page load
                    window.onload = getLinks;
            </script>
        </head>
        <body>
            <div id="link_wrapper"></div>
        </body>
    </html>
    

    get_user_email.php

    <?php
        $con=mysqli_connect('localhost','root','','test');
        $sql="select * from users";
        $res=mysqli_query($con,$sql);
        $html = '';
    
        while($row=mysqli_fetch_array($res)){
            $html .= '<a href="email.php?id='.$row['id'].'">'.$row['name'].'</a><br />';
        }
    
        echo $html;
    

    For reference:

    setInterval - https://www.w3schools.com/jsref/met_win_setinterval.asp

    Ajax - https://www.w3schools.com/xml/ajax_intro.asp

    评论

报告相同问题?

悬赏问题

  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 unity第一人称射击小游戏,有demo,在原脚本的基础上进行修改以达到要求
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line