【问题标题】:How to put JSON array in HTML table using PHP [duplicate]如何使用 PHP 将 JSON 数组放入 HTML 表中 [重复]
【发布时间】:2020-05-10 15:44:36
【问题描述】:

我需要在 PHP 中创建 REST API。我从 https://jsonplaceholder.typicode.com/ 获取 JSON 数据。现在我需要将所有这些数据放入表格 HTML 中。它是一个数组,里面还有其他 200 个数组。如何自动创建所有行,而无需手动输入整个代码。

这是我如何从https://jsonplaceholder.typicode.com/ 获取数据的代码:

 <?php

$url = 'https://jsonplaceholder.typicode.com/todos/';
$cURL = curl_init();
curl_setopt($cURL, CURLOPT_URL, $url);
curl_setopt($cURL, CURLOPT_HTTPGET, true);
curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);

curl_setopt($cURL, CURLOPT_HTTPHEADER, array(
    'Content-Type: application/json',
    'Accept: application/json'
));

$result = curl_exec($cURL);
curl_close($cURL);
$arrays =  json_decode($result);
?>

我试过这样:

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>JSON</title>
  <link rel="shortcut icon" type="image/x-icon" href="icon.ico">
  <meta name="description" content="HTML, PHP, JSON, REST API">
  <style>table, th, td {border: 1px solid black;}</style>
</head>
  <body>
    <?php foreach ($arrays as $key => $value)  {    ?>
      <div  style="width:80px;border:2px solid black;height:20px;"> <?php echo 'User ID: ' . $value -> userId ?> </div><br /> 
      <div style="width:50px;border:2px solid black;height:20px;"> <?php echo 'ID: ' . $value -> id ?> </div><br /> 
      <div style="width:550px;border:2px solid black;height:20px;"> <?php echo 'Title: ' . $value -> title ?> </div><br /> 
      <div style="width:90px;border:2px solid black;height:20px;"> <?php echo 'Completed: ' . $value -> completed ?> </div><br /> 
      <br />   <?php  } ?>

        <table table style="width:100%"; table class="data-table">

                     <tr>
                          <th> User ID:</th> <th>ID:</th> <th>Title:</th><th>Completed</th>
                      </tr>

                     <tr>
                         <td><?php echo $value -> userId ?> </td> <td><?php echo $value -> id ?> </td> <td><?php echo $value -> title ?> </td><td><?php echo $value -> completed ?> </td>
                      </tr>

                      <tr>
                         <td><?php echo $value -> userId ?> </td> <td><?php echo $value -> id ?> </td> <td><?php echo $value -> title ?> </td><td><?php echo $value -> completed ?> </td>
                     </tr>

               </table>

  </body>
</html>

但我不知道对所有 200 行执行一次。有什么建议吗?

【问题讨论】:

    标签: php html json curl


    【解决方案1】:

    再使用一次foreach() 并将&lt;table&gt; 放在外面:

    <!doctype html>
        <html lang="en">
            <head>
                <meta charset="utf-8">
                <title>JSON</title>
                <link rel="shortcut icon" type="image/x-icon" href="icon.ico">
                <meta name="description" content="HTML, PHP, JSON, REST API">
                <style>table, th, td {border: 1px solid black;}</style>
            </head>
        <body>
            <?php foreach ($arrays as $value)  {    ?>
                <div  style="width:80px;border:2px solid black;height:20px;"> <?php echo 'User ID: ' . $value -> userId ?> </div><br /> 
                <div style="width:50px;border:2px solid black;height:20px;"> <?php echo 'ID: ' . $value -> id ?> </div><br /> 
                <div style="width:550px;border:2px solid black;height:20px;"> <?php echo 'Title: ' . $value -> title ?> </div><br /> 
                <div style="width:90px;border:2px solid black;height:20px;"> <?php echo 'Completed: ' . $value -> completed ?> </div><br /> 
                <br />   
            <?php  } ?>
    
            <table style="width:100%"; class="data-table">
                <tr>
                    <th> User ID:</th> 
                    <th>ID:</th> 
                    <th>Title:</th>
                    <th>Completed</th>
                </tr>
                <?php foreach ($arrays as $value)  {    ?>
                    <tr>
                        <td><?php echo $value -> userId ?> </td> 
                        <td><?php echo $value -> id ?> </td> 
                        <td><?php echo $value -> title ?> </td>
                        <td><?php echo $value -> completed ?> </td>
                    </tr>
                <?php  } ?>
           </table>
      </body>
    </html>
    

    注意:- 我不确定您是否要先将 foreach() 放入 &lt;body&gt; 中?所以请检查,如果不需要,请删除它。

    【讨论】:

      猜你喜欢
      • 2017-09-28
      • 2021-05-29
      • 1970-01-01
      • 2021-08-04
      • 2018-04-04
      • 2022-07-11
      • 1970-01-01
      • 2018-05-13
      • 1970-01-01
      相关资源
      最近更新 更多