javascript - JS和PHP中表格添加到数组后仅显示部分列

标签 javascript php

我试图让所有列和行在添加到 JS 和 PHP 中的数组后显示。由于某种原因,播放器栏和状态栏都没有填充内容。任何对此的见解都值得赞赏。

这是收集数组的代码:

<?php include('../../functions.php');

    $query = "
    SELECT
    *
    FROM
    plobby
    LEFT JOIN users ON users.UID = plobby.UID
    WHERE
    `LID` = '". preg_replace("/[^A-Za-z0-9 ]/", '', $_POST['id']) ."';
    ";

    $result = $db->query($query);

    $rows = [];

    while ($row = $result->fetch_assoc()) {
        $rows[] = $row;
    }
    echo json_encode($rows);
?>

这是表格来源的代码:

var reloadTable = function(data) {
  if ($.data(state) == $.data(data)) {
    return;
  }

  $('#js-lobby-table').empty();

  $.each(data, function(rowNumber, rowData) {

    var row = $('<tr>');

    //console.log(data);

    // Player
    row.append($('<td>', {
      'html': data.eName
    }));

    // Status
    row.append($('<td>', {
      'html': data.gameID == "000" ? 'waiting' : 'ingame'
    }));

    // Win %
    row.append($('<td>', {
      'html': 'TODO'
    }));

    // Games
    row.append($('<td>', {
      'html': 'TODO'
    }));

    // K/D
    row.append($('<td>', {
      'html': 'TODO'
    }));

    $('#js-lobby-table').append(row);
  });

  // Set the current table state.
  state = data;
};

setInterval(function() {
  $.ajax({
    type: 'POST',
    url: '/lobby/api/table.php',
    data: {
      id: '<?= $_GET['
      id '] ?>'
    },
    success: reloadTable,
    dataType: 'json'
  });
}, 10);

最佳答案

调试时,请查看变量中的值以确保它们符合您的预期。您的代码对这些变量的处理不一致。例如,您正在循环数据:

$.each(data ...

这意味着data是一个数组。但随后您还尝试访问 data 上的值:

'html': data.eName

怀疑您实际上想在该迭代中访问rowData上的值:

'html': rowData.eName

(代码中再多行几行也会出现同样的错误。)

关于javascript - JS和PHP中表格添加到数组后仅显示部分列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53897254/

相关文章:

php - codeigniter 将参数传递给 Controller

php - 查询的奇怪行为

php - paypal 创建定期配置文件,显示下一个付款日期与配置文件开始日期相同

php - mysql从while外部获取数据

javascript - 为什么我的自动完成功能不起作用?

javascript - 根据过去的时间更改 div 上的 CSS 类

javascript - 如何在 JavaScript 中创建完全独立的对象实例

javascript - 链函数的基本查询

javascript - 如何找出特定变量从哪里来?

php - 使用 php 从管理面板更改 css 值