PHP& JSON按用户显示列数据

时间:2017-08-31 20:02:54

标签: php mysql json

我目前正在一个名为" tbl_users"的表中传递名为" followers_count"的列的数据。该网站有几个用户,每个用户都有自己的页面。在这些页面上,一个人可以单击一个跟随按钮,并使用JSON显示跟随计数。该代码到目前为止工作,除了它只显示/更新" followers_count"的数据。对于第一个" userID"在表中。我的问题是,我如何更改代码,以便它知道每个用户的页面显示他们的followers_count?

在changes.php中:

<?php
require_once 'class.channel.php';

$user_change = new USER();

$seqFollows = $user_change->runQuery("SELECT followers_count FROM tbl_users");
$seqFollows->execute();
$row = $seqFollows->fetch(PDO::FETCH_ASSOC);
$follow_count = $row['followers_count'];

header('Content-type: application/json');
$array = array('followers_count'=>$follow_count);
echo json_encode($array);
?> 

在index.php?id =(用户页面模板):

<div>
  Channel Adds: <div id="follow_count" style="display:inline;"></div>
</div>

<script type="text/javascript">

var timer;

timer = setInterval(function() {

  $(document).ready(function(){
        $.getJSON('changes.php', function(data) {
          $('#follow_count').html(data.followers_count);
        });
      });

}, 1 * 1000);

</script>

同样在index.php?id =中,这是确定我当前正在查看的页面的代码:

$currentID = ( isset( $_GET['id']) && !empty( $_GET['id'] ) ) ? trim($_GET['id']) : '' ;

$stmt = $user_home->runQuery("SELECT * FROM tbl_users WHERE userID=:uid");
$stmt->execute(array(":uid"=>$currentID));
$row = $stmt->fetch(PDO::FETCH_ASSOC);

1 个答案:

答案 0 :(得分:2)

您需要告诉changes.php用户ID值是什么。您需要修改index.php文件以提供该值。一种选择是修改AJAX调用,类似于:

$(document).ready(function(){
        $.getJSON('changes.php?id=<?php echo $_GET["id"]; ?>', function(data) {
          $('#follow_count').html(data.followers_count);
        });
      });

然后你的changes.php文件需要获得$_GET['id']的值,就像index.php一样。