【问题标题】:How to fix JSON Data not populating in HTML Table如何修复未填充在 HTML 表中的 JSON 数据
【发布时间】:2019-06-07 07:10:34
【问题描述】:

我构建了一个应用程序,它使用 php 输出 json 数据,显示谁在国会中代表你。我创建了一个表来输出数据,但是它没有呈现,不确定错误在哪里?

<div class="data-table-wrapper">
<?php

$json_rep = 
file_get_contents('https://whoismyrepresentative.com/getall_mems.php?zip='.$_GET['zip'].'&output=json');
$rep_array = json_decode($json_rep);
var_dump($rep_array);

?>
   <table class="data-table">
   <thead>
    <tr>
     <td>Name</td>
      <td>Party</td>
      <td>State</td>
      <td>District</td>
      <td>Phone</td>
      <td>Office</td>
      <td>Link</td>


    </tr>
    <?php
    foreach($rep_array->results->Name->Party as $key=>$item){
    ?>
  <tr>
    <td><?php echo $item->name; ?></td>
    <td><?php echo $item->party; ?></td>
    <td><?php echo $item->state; ?></td>
    <td><?php echo $item->district; ?></td>
    <td><?php echo $item->phone; ?></td>
    <td><?php echo $item->office; ?></td>
   <td><?php echo $item->link; ?></td>




  </tr>
 <?

   }
 ?>
   </table>
       </div>
        </div>

应该将键值对渲染到表中吗?

【问题讨论】:

  • 预期输出是多少?现在你有 6 列。标题行显示键名。其他行显示相应的值。这些栏目中的内容有问题吗? “不渲染”是什么意思?你得到什么输出?有什么错误吗?很高兴您使用var_dump 进行调试。但如果你能向我们透露它的输出结果会更好......
  • 在您的json_decode() 中使用true 来获取关联数组。然后你可以使用foreach 来循环你的数组元素。

标签: php html json api


【解决方案1】:

使用$rep_array = json_decode($json_rep, true); 获取关联数组。现在您需要做的就是遍历数组以呈现表中的任何数据,如下所示:

<?php
$json_rep = file_get_contents('https://whoismyrepresentative.com/getall_mems.php?zip=10001&output=json');
$rep_array = json_decode($json_rep, true);

echo "<table>";
foreach ($rep_array['results'] as $key => $value) {
    foreach ($value as $key1 => $value1) {
        echo "<tr>";
        echo "<td>";
        echo $key1;
        echo "</td>";
        echo "<td>";
        echo $value1;
        echo "</td>";
        echo "</tr>";
    }
}
echo "</table>";

【讨论】:

  • 然而,这有效,但不适用于 url 中的 'get' 方法,在前端有一个表单,其中包含用户输入的邮政编码的 get 方法。
  • 在后端 file_get_contents('whoismyrepresentative.com/…); /* 需要 GET 方法来获取用户邮政编码的 json 数据,是这样吗?
  • 没关系,我的代码一定是出错了。
  • 与 'GET' file_get_contents 一起使用 whoismyrepresentative.com/…); $rep_array = json_decode($json_rep, true);回声“”; foreach ($rep_array['results'] as $key => $value) { foreach ($value as $key1 => $value1) { echo "";回声“”;回声$key1;回声“”;回声“”;回声 $value1;回声“”;回声“”; } } 回声“”; ?>
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-12-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多