2017-10-29 17 views
-3

mysqlからページ内のすべてのユーザーの名前を取得し、一度名前をクリックすると、電子メールIDがリアルタイムで表示されます。phpとajaxを使ってリアルタイムにデータを取得する

new.phpとemail.phpを以下に示す。このような

<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> 
+3

笑ので、私たちはあなたのために全体のコードを書く必要があります。これは怠け者ではありません – Akintunde007

+1

あなたはあなたが立ち往生している特定の事を持っているなら、私はより喜んで助けてくれるでしょう。しかし、この問題ははるかに広いです。 – ArtisticPhoenix

+0

ようこそスタックオーバーフロー。 [良い質問をするにはどうすればいいですか?](https://stackoverflow.com/help/how-to-ask)をお読みください。これまでの私たちの努力を示してください。 – pirho

答えて

0

何か(私はすべてでこれをテストしていない-note-が、これは基本的な考え方である)

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; 
参考

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

アヤックス - https://www.w3schools.com/xml/ajax_intro.asp

関連する問題