我有一个JSON文件,用于通过PHP在我的页面中显示信息。我可以使用以下查询更改JSON结果的显示:
但是,我使用file_get_contents
和json_decode
的基本网址。有没有办法可以稍后更改/添加查询到这个URL,例如循环,所以我可以根据我在前端做出的选择创建分页/过滤选项?
加载JSON的代码:
$opts = array(
'http'=>array(
'header'=>"X-AUTH-TOKEN: 34c4c7d79....."
)
);
$context = stream_context_create($opts);
$url = 'https://urlgoeshere.com';
$data = file_get_contents($url, true, $context);
$result = json_decode($data);
答案 0 :(得分:0)
设置基本网址后,您可以使用http_build_query
添加在前端选择的选项的查询字符串。
$url = 'https://urlgoeshere.com';
您需要一系列选项。
$options = ['page' => 1, 'fromdate' => '2017-08-17', 'sorton' => 'Country'];
如何创建该数组取决于您如何从前端传递选项值。这是一个使用$_POST
值或默认值的示例,如果没有设置相关键。
$options = [
'page' => filter_input(INPUT_POST, 'page') ?? 1,
'fromdate' => filter_input(INPUT_POST, 'fromdate') ?? date('Y-m-d'),
'sorton' => filter_input(INPUT_POST, 'sorton') ?? 'Country'
];
然后,您可以构建查询并将其附加到基本URL。
$query = http_build_query($options);
$data = file_get_contents("$url?$query", true, $context);