2017-07-19 2 views
0

JSONレスポンスを持つPHP APIが1つあります。期待どおりに動作します。 qu_timeというクエリでJSONで呼び出すフィールドが1つあります。現在、そのフィールドからの戻り日付時刻。私は前に機能を変換してJSONレスポンスに含めたいと思っています。私はそれを行うための多くの可能な方法を試みたが、私はPHP開発者ではないので、私は成功ではない。どのように私はJSONで時間前に関数値を追加することができますjsonレスポンスに関数の値を含める

<?php 

include 'dbconnection.php'; 

$limit = $_GET['limit']; 
$offset = $_GET['offset']; 
$orde = $_GET['order']; 

mysqli_query($conn,"SET NAMES utf8"); 
$sql = "SELECT q.*,c.au_picture as picture FROM tbl_quotes q INNER JOIN tbl_category c ON q.qu_author=c._auid Order By q.".$orde." Desc LIMIT ".$limit." OFFSET ".$offset; 
$result = mysqli_query($conn, $sql); 

$arr = array(); 
while($r = mysqli_fetch_assoc($result)) { 
    $arr[] = $r; 
} 

echo json_encode($arr, JSON_UNESCAPED_UNICODE); 

mysqli_close($conn); 

?> 

と私の時間は、前に関数が

function ago($datetime) 
{ 
    $interval = date_create('now')->diff($datetime); 
    $suffix = ($interval->invert ? '' : ''); 
    if ($v = $interval->y >= 1) return pluralize($interval->y, 'year') . $suffix; 
    if ($v = $interval->m >= 1) return pluralize($interval->m, 'month') . $suffix; 
    if ($v = $interval->d >= 1) return pluralize($interval->d, 'day') . $suffix; 
    if ($v = $interval->h >= 1) return pluralize($interval->h, 'hr') . $suffix; 
    if ($v = $interval->i >= 1) return pluralize($interval->i, 'min') . $suffix; 
    return pluralize($interval->s, 'second') . $suffix; 
} 

は、誰も私に提案してくださいすることができ下回るようなものです:私の現在のAPIコードは以下のようなものです応答?

+0

'$ r [" qu_time "] =前($ r [" qu_time "]);' ...あなたの望む結果が得られますか? – trincot

+0

@何らかのエラーが発生しています....うまくいかない – Alia

+0

どちらのエラー?関数定義を含めましたか?フィールド名は正しいですか? – trincot

答えて

0

あなたが戻って同じ配列位置での結果を関数呼び出しを行うと、保存するループに次の行を追加することができます。それがあったとして

while($r = mysqli_fetch_assoc($result)) { 
    $r["qu_time"] = ago($r["qu_time"]); // <---- call function, and store result 
    $arr[] = $r; 
} 

はその後、JSONへの変換は、ちょうど滞在することができます。

関連する問題