如何将 API 请求中的数据数组排列到 HTML SELECT OPTION LIST 中?

莱斯88

大家好,我从网站 API 获得了一段 PHP 代码来检索数据,我希望将数据数组排列在选择选项下拉菜单中。我怎样才能做到这一点?以下是网络提供的代码:

<?php
$data = array(

    'token' => '4B0D42AB9D061C0FADD724D2E908349D',
    'content' => 'report',
    'format' => 'json',
    'report_id' => '71',
    'rawOrLabel' => 'label',
    'rawOrLabelHeaders' => 'label',
    'exportCheckboxLabel' => 'false',
    'returnFormat' => 'json');
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, 'http://redcap-virtualbox/redcap/api/');

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

curl_setopt($ch, CURLOPT_VERBOSE, 0);

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);

curl_setopt($ch, CURLOPT_AUTOREFERER, true);

curl_setopt($ch, CURLOPT_MAXREDIRS, 10);

curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');

curl_setopt($ch, CURLOPT_FRESH_CONNECT, 1);

curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data, '', '&'));

$output = curl_exec($ch);

print $output;

curl_close($ch);

?>

生成的数据输出如下图:

[{"project_code":"17001"},{"project_code":"17002"},{"project_code":"17003"},{"project_code":"17004-CG"},{"project_code":"17005 "},{"project_code":"16001"},{"project_code":"16002"},{"project_code":"16003"},{"project_code":"16004"},{"project_code":"16005 "},{"project_code":"16006"},{"project_code":"16007"},{"project_code":"16008"},{"project_code":"16009"},{"project_code":"16010 "},{"project_code":"16011"},{"project_code":"16012"},{"project_code":"16013"},{"project_code":"16014"},{"project_code":"16015"},{"project_code":"16016"},{"project_code":"17006"},{"project_code":"17008"},{"project_code":"17007"}, {"project_code":"16017"},{"project_code":"16018"},{"project_code":"17009"},{"project_code":"17010"},{"project_code":"17011"}, {"project_code":"17012"},{"project_code":"17013"},{"project_code":"17014"},{"project_code":"17015"},{"project_code":"17016"}, {"project_code":"17017"},{"project_code":"17018"},{"project_code":"17019"},{"project_code":"17020"},{"project_code":"16019"},{"project_code":"17021"},{"project_code":"17022"},{"project_code":"16021"},{"project_code":"17023"}, {"project_code":"16023"},{"project_code":"16024"},{"project_code":"16025"},{"project_code":"16026"},{"project_code":"16027"}, {"project_code":"16028"},{"project_code":"16029"},{"project_code":"16030"},{"project_code":"16031"},{"project_code":"17024"}, {"project_code":"16032"},{"project_code":"17025"},{"project_code":"17026-CG"},{"project_code":"17027"},{"project_code":"17028"},{"project_code":"17029"},{"project_code":"17030"},{"project_code":"17031"},{"project_code":"16033"}, {"project_code":"16034"},{"project_code":"17032"},{"project_code":"17033"},{"project_code":"17034"},{"project_code":"17035"}, {"project_code":"17036"},{"project_code":"17037"},{"project_code":"17038"},{"project_code":"17039"},{"project_code":"17040-CG" },{"project_code":"17041"},{"project_code":"17042"},{"project_code":"17044-CG"},{"project_code":"17045-CG"},{"project_code":"17043"},{"project_code":"17046"},{"project_code":"17047"},{"project_code":"17048"},{"project_code" :"17049"},{"project_code":"17050"},{"project_code":"17051"},{"project_code":"17052"},{"project_code":"17053"},{"project_code" :"17054"},{"project_code":"17055"},{"project_code":"17056"},{"project_code":"17057"},{"project_code":"17059-CG"},{" project_code":"17060"},{"project_code":"17061"},{"project_code":"17062"},{"project_code":"17063"},{"project_code":"17064"},{"project_code":"17065"},{"project_code":"17066"},{"project_code":"17067"},{"project_code":"17068"},{"project_code": "17069"},{"project_code":"17070"},{"project_code":"17071"},{"project_code":"17072"},{"project_code":"17073"},{"project_code": "17074"},{"project_code":"17075"},{"project_code":"17076"},{"project_code":"17077"},{"project_code":"17078"},{"project_code": "17079"},{"project_code":"17080"},{"project_code":"17081"},{"project_code":"17082"},{"project_code":"17083"},{"project_code":"17084"},{"project_code":"17085"},{"project_code":"17086"},{"project_code":"17087"},{"project_code": "17088"},{"project_code":"17089-CG"},{"project_code":"17090"},{"project_code":"17091"},{"project_code":"17092"},{"project_code ":"17093"},{"project_code":"17094-CG"},{"project_code":"17095"},{"project_code":"17096"},{"project_code":"17097"},{ "project_code":"17098"},{"project_code":"17099"},{"project_code":"17100"},{"project_code":"17101"},{"project_code":"17102"},{"project_code":"17103"},{"project_code":"17104"},{"project_code":"17105"},{"project_code":"17106"},{"project_code" :"17107"},{"project_code":"18001"},{"project_code":"18002"},{"project_code":"16035"},{"project_code":"18003"},{"project_code" :"18004-CG"},{"project_code":"18005"},{"project_code":"18006"},{"project_code":"18007"},{"project_code":"18008"},{" project_code":"18009"},{"project_code":"18010"},{"project_code":"18011"},{"project_code":"18012"},{"project_code":"18013"},{"project_code":"18014"},{"project_code":"18015"},{"project_code":"18016"},{"project_code":"18017"},{"project_code": "18018"},{"project_code":"18019"},{"project_code":"18020"},{"project_code":"18022"},{"project_code":"18023"},{"project_code": "18024"},{"project_code":"18025"},{"project_code":"18026"},{"project_code":"18027"},{"project_code":"18028"},{"project_code": "18029"},{"project_code":"18030"},{"project_code":"18031-CG"},{"project_code":"18032"},{"project_code":"18033"},{"project_code":"18034-CG"},{"project_code":"18035"},{"project_code":"18036"},{"project_code":"18037"},{"project_code ":"18038"},{"project_code":"18039"},{"project_code":"18040"},{"project_code":"18041"}]

基本上我只需要将项目代码编号存储在 SELECT 选项菜单中。有人可以帮忙吗?非常感谢您的帮助。

欣克

摆脱print声明。那只是吐出JSON。

您需要解码 JSON,并在 select 元素中循环遍历它。

将打印语句替换为:

$json = json_decode( $output );

echo '<select name="my-select">';
foreach( $json as $item ){
    echo "<option value='{$item->project_code}'>Code: {$item->project_code}</option>";
}
echo '</select>';

这样做是输出一个基本的选择,然后循环通过决定的 API 响应,为每个选项回显一个带有值的选项。

更新:

因为我不确定你是否知道所有的键是什么,我们可以将它们推入一个关联数组:

$json = json_decode( $output );

//Create an Empty Array, we'll add selects and options to this
$selects = [];

foreach( $json as $item ){
    foreach( $item as $key => $val ){
        $selects[$key][] = $val;
    }
}

//Now we have an associative array of keys (project_code, dept, etc.)
//and those have arrays associate with the appropriate key

foreach( $selects as $name => $options ){
    echo "<select name='$name'>";
        echo "<option value=''>Choose a $name</option>";
        foreach( $options as $option ){
            echo "<option value='$option'>$option</option>";
        }
    echo '</select>';
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在select_tag中为<option>标记设置HTML选项

来自分类Dev

如何在ng-repeat中创建选定的html-select-option?

来自分类Dev

<select>中<option>的互斥?

来自分类Dev

如何在select和option标签中添加JSON数据?

来自分类Dev

如何将数据从JSON显示到html表中

来自分类Dev

如何将TukeyHSD的结果排列到表中?

来自分类Dev

React HTML Select Option在Chrome中不起作用

来自分类Dev

我如何将普通年行的数据排列到R中的单独列中?

来自分类Dev

如何将select top 1插入我的查询中?

来自分类Dev

如何在数组中将SELECT中的多个Option插入MySQL数据库?

来自分类Dev

如何将css类放入html:jsp中的select元素

来自分类Dev

如何将数字1-10随机排列到数组中,然后一次调用数组的每个部分?

来自分类Dev

如何将dom html推入php中的数组?

来自分类Dev

用于将数据排列到列中的宏

来自分类Dev

用于将数据排列到列中的宏

来自分类Dev

如何使用ng-option在Angular select中添加HTML实体

来自分类Dev

如何将文本从html输入推入AngularJS数组中?

来自分类Dev

如何将数组中的值放入HTML表中?

来自分类Dev

如何将<option>标记的元素转移到javascript中的数组中?

来自分类Dev

如何将数组填充到HTML表中

来自分类Dev

如何将sql数据放入html表中

来自分类Dev

如何将 .txt 文件中的数据插入 html

来自分类Dev

Chrome 中 HTML 元素 <select> / <option> 的间距错误

来自分类Dev

将数据帧列表中的数据有效地重新排列到 R 中的数组中?

来自分类Dev

如何将 Javascript 中的数据列表显示到 Select Statement HTML 中?

来自分类Dev

如何将直接的 HTML 数据提取到 VBA 中

来自分类Dev

如何将select和insert结合到sql中

来自分类Dev

如何通过 PHP 将 sql 字段中的扩展数字加载到 Select Option 元素中?

来自分类Dev

如何将api数据保存到本地存储中?

Related 相关文章

  1. 1

    在select_tag中为<option>标记设置HTML选项

  2. 2

    如何在ng-repeat中创建选定的html-select-option?

  3. 3

    <select>中<option>的互斥?

  4. 4

    如何在select和option标签中添加JSON数据?

  5. 5

    如何将数据从JSON显示到html表中

  6. 6

    如何将TukeyHSD的结果排列到表中?

  7. 7

    React HTML Select Option在Chrome中不起作用

  8. 8

    我如何将普通年行的数据排列到R中的单独列中?

  9. 9

    如何将select top 1插入我的查询中?

  10. 10

    如何在数组中将SELECT中的多个Option插入MySQL数据库?

  11. 11

    如何将css类放入html:jsp中的select元素

  12. 12

    如何将数字1-10随机排列到数组中,然后一次调用数组的每个部分?

  13. 13

    如何将dom html推入php中的数组?

  14. 14

    用于将数据排列到列中的宏

  15. 15

    用于将数据排列到列中的宏

  16. 16

    如何使用ng-option在Angular select中添加HTML实体

  17. 17

    如何将文本从html输入推入AngularJS数组中?

  18. 18

    如何将数组中的值放入HTML表中?

  19. 19

    如何将<option>标记的元素转移到javascript中的数组中?

  20. 20

    如何将数组填充到HTML表中

  21. 21

    如何将sql数据放入html表中

  22. 22

    如何将 .txt 文件中的数据插入 html

  23. 23

    Chrome 中 HTML 元素 <select> / <option> 的间距错误

  24. 24

    将数据帧列表中的数据有效地重新排列到 R 中的数组中?

  25. 25

    如何将 Javascript 中的数据列表显示到 Select Statement HTML 中?

  26. 26

    如何将直接的 HTML 数据提取到 VBA 中

  27. 27

    如何将select和insert结合到sql中

  28. 28

    如何通过 PHP 将 sql 字段中的扩展数字加载到 Select Option 元素中?

  29. 29

    如何将api数据保存到本地存储中?

热门标签

归档