2017-08-17 45 views
0

JSON源URL我有,我用它來通過PHP我的網頁中顯示信息的JSON文件。我可以改變JSON的結果的顯示與查詢,例如:???添加/更改查詢到PHP

  • 頁= 1(它加載默認10個條目)
  • 沒有fromdate = 2017年8月17日
  • sorton =國家

但是,我使用的基本URL爲file_get_contentsjson_decode。有沒有一種方法我可以改變/添加查詢到這個網址後,在例如一個循環,這樣我就可以創建基於我做在前端的選擇分頁/過濾器選項?

我的代碼,加載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

在設置自己的基本網址,你可以用與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);